Узагалі, символ = означає, що числа ліворуч і праворуч від символу дають однаковий залишок при розподілі на mod. Наприклад, вірно, що 40 =13 mod 27, 175 =13 mod 27 і т.д. Коли ж у вираженні з mod пишеться знак рівності, праворуч від нього стоїть число з припустимого класу, що лежить в інтервалі [0, mod-1]. Так можна писати 20+20 =13 mod 27. Число, що стоїть в таких вираженнях праворуч від знака рівності, називається найменшим ненегативним залишком (ННО). Можна визначити порівняння інакше: a=b mod m, якщо, додаючи або віднімаючи m скільки завгодно раз, можна зробити так, щоб ліворуч і праворуч стояли однакові числа. Наприклад, - 14=13mod27; дійсно, додавши 27 один раз до лівої частини, одержимо 13 =13 mod 27.
Для зашифровки по Цезарю треба задумати ключ (і повідомити його тому, хто буде розшифровувати). У розглянутому прикладі ключ К— це число з інтервалу [1, 26]. Потім текст, що підлягає зашифровці, обробляється наступним алгоритмом:
ЗАШИФРОВКА ПО ЦЕЗАРЮ
1. Для кожного символу s зашифровуваного тексту від першого символу до останнього проробити наступні операції:
2. Знайти я (s) — номер символу s;
3. Одержати номер зашифрованого символу п (с) по формулі n(s)+K=n(c)mod27;
4. По номеру п (с) знайти і написати символ с.
Розшифровка шифру Цезаря проводиться природним звертанням алгоритму зашифровки.
РОЗШИФРОВКА ПО ЦЕЗАРЮ
1. Для кожного символу з зашифрованого тексту від першого символу до останнього проробити наступні операції:
2. Знайти п (с) — номер символу з;
3. Одержати номер розшифрованого символу п (s) по формулі n(c)-K=n(s)mod27;
Вирахування по модулю 27 тут означає, що якщо різниця негативна, то до різниці додають модуль.
4. По номеру п (s) знайти і написати символ s.
Це досить простий шифр, він легко зламується простим перебором, перебравши всі можливі значення K від 1 до 26. Для цього потрібно визначити частоти букв англійського алфавіту, це відомі дані, вони приведені в наступній таблиці:
Таблиця 1 - Частоти букв в англійських текстах
A |
0.079 |
B |
0.017 |
C |
0.041 |
D |
0.033 |
E |
0.122 |
F |
0.022 |
G |
0.018 |
H |
0.038 |
I |
0.075 |
J |
0.001 |
K |
0.008 |
L |
0.037 |
M |
0.027 |
N |
0.068 |
O |
0.071 |
P |
0.028 |
Q |
0.002 |
R |
0.069 |
S |
0.071 |
T |
0.091 |
U |
0.031 |
V |
0.011 |
W |
0.013 |
X |
0.003 |
Y |
0.020 |
Z |
0.002 |
_ |
0.222 |
Потім складається таблиця частот букв зашифрованого тексту при різних значеннях ключа. Число, при якому ця таблиця максимально схожа з таблицею 1 буде шуканим ключем.
ВПРАВИ
1.В описаному вище 27-значному алфавіті дане повідомлення:
CAESAR WAS BORN IN THE YEAR ONE HUNDRED ВР.
Зашифрувати його з ДО= 13.
Розшифровка шифру Цезаря проводиться природним звертанням алгоритму зашифровки.
2.В умовах вправи 1зашифрувати вираз з K=10:
EVERYTHING ON EARTH, INCLUDING YOUR BODY? IS PULLED DOWN TO THE ЕАRTH' SURFACE BY GRAVITY, AND THIS PULL GIVES YOU YOUR WEIGHT.
3. В умовах вправи 1зашифрувати вираз з K=12:
THE GREEK MATHEMATICIAN ARCHIMEDES WAS THE FATHER OF GEOMETRY.
4.В умовах вправи 1 розшифрувати вираз:
TNGYEMORINDRMASMPNRENDMURMIVYYMNFFNPXMKAGDMPAG FDKMV MSVSFKMRVTUFUMOP
5. В умовах вправи 1зашифрувати вираз з K=5:
6. В умовах вправи 1зашифрувати вираз з K=6:
EVERY FOURTH YEAR IS A LEAP YEAR THAT HAS AN EXTRA DAY.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.