Шифър на Виженер
Шифърът на Виженер е известен шифър, който използва няколко шифровани азбуки, благодарение на което е много по-устойчив на класическия честотен анализ.
Принцип на шифрирането и дешифрирането
Начинът на шифриране можем да обясним с помощта на шифъра на Цезар. Ключ на шифъра на Виженер е произволна дума, съставена от букви на английската азбука, т.е. a–z. Ключ може да бъде например думата „bcf“. Шифрирането протича така: записваме открития текст и веднага под него ключа, който повтаряме докато стане със същата дължина като открития текст. За открития текст „dobarden“ (на български „добър ден“, записано с латински букви) това би изглеждало така:
| Открит текст: | d | o | b | a | r | d | e | n |
| Ключ: | b | c | f | b | c | f | b | c |
Сега бихме шифрирали всички букви от открития текст с шифъра на Цезар със съответния ключ, т.е. с ключа от същата колона. Шифърът на Цезар е шифър с отместване, а ключът показва с колко букви трябва да отместим буквата от открития текст, като броим от буквата „a“. Буквата „b“ например означава отместване с една буква в азбуката „надясно“. Буквата „d“ означава отместване с три букви надясно. Думата „zdravey“ бихме шифрирали с шифъра на Цезар и с ключ „b“ като „aesbwfz“.
В шифъра на Цезар шифрираме целия текст с една буква, а в шифъра на Виженер обикновено шифрираме с няколко букви. Шифрирането на текста „dobarden“ с ключ „bcf“ би протекло така:
| Открит текст: | d | o | b | a | r | d | e | n |
| Ключ: | b | c | f | b | c | f | b | c |
| Шифриран текст: | e | q | g | b | t | i | f | p |
Първата буква „d“ шифрирахме с ключ „b“, т.е. отместване с една буква, затова резултатът е буквата „e“. Буквата „o“ шифрирахме с ключ „c“, т.е. отместване с две букви, резултатът е буквата „q“. И т.н.
Дешифрираме по съвсем същия начин, само че вместо да отместваме буквите „надясно“, ги отместваме „наляво“.
Онлайн инструмент за шифриране и дешифриране с шифъра на Виженер
Квадрат на Виженер
Целият процес на шифриране и дешифриране може да се обясни и с квадрата на Виженер – помощно средство, което можем да използваме при шифрирането. Квадратът на Виженер е таблица с 26 реда и 26 колони. Във всеки ред е записана азбуката, като във всеки следващ ред тя е отместена с една буква:
Ако имаме такъв квадрат на Виженер, шифрирането би протекло така: вземаме буква от открития текст и намираме реда с тази буква. После вземаме буква от ключа и намираме колоната. Буквата от шифрирания текст е буквата в съответния ред и колона.
В предишния пример шифрирахме „dobarden“ с ключ „bcf“. Намираме реда, който започва с „d“, и колоната, която започва с „b“. В пресечната точка на този ред и тази колона е буквата „e“, получената буква от шифрирания текст.
При дешифрирането бихме действали обратно. Ако искаме да дешифрираме буквата „e“ с ключ „b“, намираме колоната „b“, в нея намираме реда, който съдържа буквата „e“, а буквата в началото на този ред е буквата от открития текст.
Основната сила на шифъра на Виженер
Защо шифърът на Виженер е бил толкова силен по времето си? Защото значително затруднява класическия честотен анализ. Например в шифъра на Цезар две еднакви букви от открития текст се шифрират в еднакви букви в шифрирания текст. В шифъра на Виженер това не е така, поне не винаги.
Ако шифрираме текста „Dobre dobre dobre“ с ключ „stan“ (т.е. „добре добре добре“ с латински букви), получаваме шифрирания текст „vhbew woojx dbtke“. Виждаме, че макар откритият текст да съдържа три еднакви думи, в получения шифриран текст всяка дума изглежда съвсем различно. Средната дума „woojx“ дори съдържа две букви „o“, които обаче са възникнали от две различни букви на открития текст: „ob“.
Избор на ключ
Сигурността на шифъра на Виженер зависи в много голяма степен от избора на ключ. При шифъра на Цезар нямаше значение коя буква ще изберем, стига да е различна от „a“, а при шифъра на Виженер различните ключове водят до различна степен на сигурност.
- Ключ, съставен само от една буква, свежда шифъра на Виженер обратно до шифъра на Цезар.
- Ключ, съставен от няколко еднакви букви, например „mmm“, отново води до шифъра на Цезар.
- Текст, шифриран с къс ключ, се разгадава много лесно.
- Достатъчно дълъг шифриран текст, който е шифриран с не съвсем къс ключ (около петдесет знака), също се разгадава много лесно. С компютър – за секунди.
- Текст, шифриран с ключ, който е напълно случаен и е дълъг колкото самия текст, е невъзможно да се разгадае.