Шифърът на Цезар: как да пишеш тайни съобщения
Как работи шифърът на Цезар, как се разбива с честотен анализ и защо днешните тайни са много по-сигурни.
Бип! Робко тук с тайно съобщение за теб: НСЗ. Звучи като грешка в клавиатурата? Всъщност е дума, скрита с трика на един римски пълководец отпреди над 2000 години. До края на урока ще я разчиташ за секунди.
История от живота
Римският историк Светоний разказва, че когато Юлий Цезар пишел поверителни писма, той заменял всяка буква с тази, която стои три места по-нататък в азбуката. Така A става D, B става E и т.н. Племенникът му Август използвал още по-проста версия: изместване само с една буква. Шифърът вероятно работел и защото малко от враговете му тогава можели да четат, а още по-малко да разгадават тайнопис. Векове по-късно, през 1586 г., шотландската кралица Мария Стюарт пише шифровани писма в заговор срещу английската кралица Елизабет I. Нейният шифър е по-сложен, но специалистът Томас Фелипс го разбива с честотен анализ и писмата стават доказателство срещу нея.
Разбери го стъпка по стъпка
- Как работи
Избираш ключ, например 3. Всяка буква се измества с 3 позиции напред в азбуката. Ако стигнеш края, продължаваш отначало: при българската азбука Я става В. За разшифроване местиш със същия ключ назад.
- Колко ключа има
В българската азбука има 30 букви, затова има само 29 полезни ключа (ключ 30 връща текста същия). В латинската има 26 букви и 25 полезни ключа. Някой с търпение може да ги пробва всички за няколко минути, а компютър за част от секундата. Това се нарича атака с груба сила.
- Честотен анализ
През IX век арабският учен Ал-Кинди описва нов метод: някои букви се срещат много по-често от други. В английския най-честата буква е E, а в българския гласните О, А, Е и И са сред най-честите. Ако в шифъра една буква се повтаря подозрително често, вероятно тя замества някоя от тях, и ключът е разкрит.
- ROT13
Шифър на Цезар с ключ 13 за латинската азбука се казва ROT13. Понеже 13 е точно половината от 26, ако го приложиш два пъти, получаваш отново оригинала. Във форумите в интернет с него скриват отговори на загадки и края на филми, не за истинска сигурност.
- Днешните шифри
Когато пращаш съобщение в приложение със защитено криптиране, ключовете са толкова дълги, че вариантите са повече от звездите в известната ни Вселена. Идеята обаче е същата: съобщение плюс ключ дава тайнопис, който без ключа е безсмислица.
Представи си така: Шифърът на Цезар е като две колела с азбуката, едното в другото. Завърташ вътрешното колело с 3 позиции и вече всяка буква отвън има своя "тайна двойка" отвътре. Който знае с колко си завъртял, разчита всичко.
- I век пр.н.е.Юлий Цезар шифрова писма с изместване 3
- IX векАл-Кинди описва честотния анализ
- 1586Шифърът на Мария Стюарт е разбит
- 1932Полският математик Мариан Реевски разбива ранна версия на германската машина Енигма
- 1939-1945В Блечли Парк Алън Тюринг и екипът му разчитат съобщенията на Енигма
- 1977Създаден е RSA, един от методите, които пазят интернет и днес
Решени примери
Шифровай думата КОД с ключ 3 (българска азбука).
К става Н, О става С, Д става З. Отговорът е НСЗ, точно съобщението от началото на урока.
Знаменитото "VENI VIDI VICI" (Дойдох, видях, победих) на Цезар, шифровано с неговия ключ 3. Какво се получава?
YHQL YLGL YLFL. Всяка латинска буква е изместена с 3: V става Y, E става H, N става Q, I става L.
Прихванал си съобщение ХУЖУЧ и знаеш, че е шифър на Цезар. Как да го разбиеш без ключ?
Пробваш ключовете един по един назад. С ключ 5: Х става Р, У става О, Ж става Б, Ч става Т. Получава се РОБОТ, смислена дума, значи ключът е 5.
Внимавай с тези грешки
- Шифърът на Цезар е напълно сигурен, ако никой не знае ключа.Ключовете са малко (25 в латинската азбука), затова всеки може да ги пробва всички. Сигурността идва от това, че е трудно да пробваш всичко, а тук не е.
- Шифриране и кодиране е едно и също.Кодирането (например Морз или двоичен код) е открито правило, което всеки може да ползва. Шифрирането крие смисъла и изисква таен ключ.
- Ако шифроваш два пъти с Цезар, става двойно по-сигурно.Два пъти с ключ 3 е просто един път с ключ 6. Броят на възможните ключове не се увеличава.
Задачи
Лесни
Шифровай с ключ 3 думата ТАЙНА (българска азбука: А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ь Ю Я).
Подсказка
Т+3 = Х, А+3 = Г, Й+3 = М, Н+3 = Р.
Отговор
ХГМРГ.
Разшифровай БЖ, ако ключът е 3. Внимавай, тръгваш от началото на азбуката.
Подсказка
Когато минеш преди А, продължаваш от Я назад.
Отговор
ЮГ (Б-3 минава през края: Б, А, Я, Ю).
Средни
Разшифровай ПТЗМОД с ключ 4.
Подсказка
Връщай всяка буква с 4 места назад.
Отговор
ЛОГИКА.
Колко полезни ключа има шифърът на Цезар за българската азбука? А ако компютър пробва 1 ключ за милионна част от секундата, колко време ще му трябва за всички?
Подсказка
Ключ 30 връща същия текст, значи не се брои.
Отговор
29 ключа, около 29 милионни от секундата, тоест мигновено.
Трудни
Шифровай с ключ 13 латинската дума HELLO, после шифровай резултата още веднъж с ключ 13. Какво забелязваш?
Подсказка
Латинската азбука има 26 букви.
Отговор
Първо URYYB, после отново HELLO. ROT13, приложен два пъти, е изместване с 26, тоест обратно до началото.
Вземи текст от 100 букви от книга. Преброй колко пъти се среща всяка от буквите О, А, Е, И, Т, Ъ. Подреди ги. Как би ползвал резултата, за да разбиеш шифър?
Подсказка
Работи в двойка: единият чете, другият отбелязва чертички.
Отговор
Свободен отговор. Обикновено гласните О, А, Е, И са най-чести. Най-честата буква в шифъра вероятно замества някоя от тях и подсказва ключа.
Шифрово колело
Цел: Да направиш инструмент, с който шифроваш и разшифроваш за секунди.
- Начертай два кръга от картон, единият малко по-малък (ползвай чиния и чаша като шаблон).
- Раздели всеки кръг на 30 равни части и напиши по една буква от азбуката във всяка.
- Сложи малкия кръг върху големия и ги закрепи в центъра с кламер-пеперуда (с помощ от възрастен за дупката).
- Завърти вътрешния кръг с толкова букви, колкото е ключът ти.
- Напиши тайно съобщение и дай колелото и ключа само на приятеля, който трябва да го разчете.
Накрая: Двойките си разменят тайни съобщения и разчитат тези на другите отбори, като пробват ключове.
Тест с точки
10 въпроса, 18 точки, оценка накрая и разбор какво да преговориш.