Задачи индивидуальные

Задача № 1.

Очень простой и известный шифр.

AABABBAAAAAAABABABAAABABAAABAAABAAABAAAAAA

Подсказка:

AAAAAA – “A”

Идея: Шифр Бэкона. Разделить по 6 и найти значения.

Решение:

Шифр Бэкона. Делим последовательность на шестёрки и находим значения. Удобно сделать замену

«А»-«0», «В»-«1» и перевести полученное двоичное число в десятичную систему.

AABABB=>0010112=11

AAAAAA=>0000002=0

ABABAB=>0101012=21

AAABAB=>0001012=5

AAABAA=>0001002=4

ABAAAB=>0100012=17

AAAAAA=>0000002=0

Получили 11 0 21 5 4 17 0, или «КАФЕДРА».

Задача № 2.

Мы уже расшифровали сообщение от агента Васи Пупкина, осталось получить текст. Как же это сделать?

Подсказка:

Все что тут нужно это алфавит, калькулятор да модуль…

Идея: разложить по основанию 33, подставить коэффициенты.

Решение:

Необходимо разложить число по основанию 33.

672135633=17*335+5*334+25*333+5*332+14*33+15. Подставляем числа 17 5 25 5 14 15 из алфавита – «РЕШЕНО»

Задача № 3.

Вы перехватили вражеский алгоритм шифрования, вам даже известен ключ. Шифртекст - 'АЛТРЖВЕОНЧМ', ключ - 'КЛЮЧИК'. что же зашифровано??

function shifr(a,b):

text=a

key=b

alf=['А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я'] # 0..32

alf+=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] # 33..58

alf+=['.',',','!',' ','?'] # 59..63

i=0

while length(key)<length(text):

key+=key[i]

i+=1

newtext=''

for i in 0..length(text)-1:

if alf.index(text[i])==-1 or alf.index(key[i])==-1:

return 'ERROR, bad symbol'

newtext+=alf[alf.index(text[i])^alf.index(key[i])]

return newtext

Подсказка:

Чудесное свойство XOR: a^b= с => b^c=a

Идея: xor-шифрование, шифрующая и дешифрующая функции совпадают.

Решение:

По свойству XOR, для решения задачи, необходимо «зашифровать» текст - 'АЛТРЖВЕОНЧМ', ключом - 'КЛЮЧИК' и мы получим исходный текст.

В процессе «удлинения» ключа получим «КЛЮЧИККЛЮЧИ», потом проводим операцию XOR для числовых значений букв текста и ключа.

А^К=0^11=11=К

Л^Л=12^12=0=А

Т^Ю=19^31=12=Л

Р^Ч=17^24=9=И

Ж^И=7^9=14=Н

В^К=2^11=3=И

Е^К=5^11=14=Н

О^Л=15^12=3=Г

Н^Ю=14^31=17=Р

Ч^Ч=24^24=0=А

М^И=13^9=4=Д

Исходный текст – «КАЛИНИНГРАД»

Задача № 4.

Странное послание. Известно, что буквы исходного сообщения представляются двумя буквами в зашифрованном сообщении. Как это получается вам и предстоит установить. Расшифруйте слово.

ФШЙЦЭЁОЪЯА

Подсказка:

В этом шифровании, одинаковые буквы могут быть представлены разными парами букв.

Идея: выписать значения из алфавита, сложить по парам и взять модуль.

Решение:

Выписываем числовые значения букв и делим их по парам: 21 25, 10 23, 30 6, 15 27, 33 0. Складываем числа в каждой паре и результат берём по модулю 33. Получим 13 0 3 9 32. Подставляем значения из алфавита – «МАГИЯ»

Задача № 5.

Разведчик узнал, какой предмет используют наши конкуренты. Этот прибор ускорил бы наши исследования. Чтобы не привлекать внимания, разведчик зашифровал его название на шахматной доске...

Подсказка:

Цвет и вес фигур не имеют значения

Идея: подсчитать суммы по горизонтали, числа [1-8], фигура означает наличие цифры, получить ответ.

Решение:

Меняем буквы a-h на числа 1-8 и ищем суммы чисел в каждой строке (фигура означает наличие цифры). Получаем числа (снизу вверх): 19 5 12 5 18 11 15 16, берём значения из алфавита – «ТЕЛЕСКОП»


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: