Специальный выпуск - шифр Виженера. Часть первая.

Специальный выпуск - шифр Виженера. Часть первая.

CHe_Love_Vek

Этот легендарный шифр нельзя обойти стороной. Его уникальность в том, что он полиалфавитный, т.е является совокупностью шифров простой замены ( разобран в цикле о симметричных шифрах ). Создание столь необычного алгоритма было вызвано утратой криптостойкости моноалфавитных шифров и сопровождалось кропотливой деятельностью многих учёных на протяжении нескольких веков ( о чём и будет вторая часть ).

Шифрование

Было создано немало вариаций шифра Виженера, но мы остановимся на самой простой - шифровании с помощью алфавитного квадрата :

Работает это так : нам необходимо зашифровать какой - либо текст, пусть им будет "ALASKA". Придумываем к нему ключевое слово, например "SEA". Сопоставляем их так, чтобы длина ключа соответствовала длине открытого текста. Если, как в этом случае, длины ключа не хватает, записываем его несколько раз:

ALASKA

SEASEA

Подготовительная часть закончилась. Теперь приступаем к шифрованию и обращаем внимание на верхнюю строку и левую колонку квадрата ( выделены цветом ). Чтобы получить шифротекст, находим первую букву открытого текста в верхнем столбце, первую букву ключа в левой колонке и смотрим на букву в их пересечении. Это и будет зашифрованный символ. В нашем случае, на пересечении букв "A" и "S" будет буква "S". Вторым зашифрованным символом, находящимся на пересечении "L" и "E", будет "P". И так далее. В результате получаем слово "SPAKOA".

Дешифрование

Дешифрование производится в обратном порядке. Необходимо, взяв в левом столбце букву ключа, найти в этой же строке соответствующую ему букву шифротекста. После этого, от найденной буквы шифротекста ведём взглядом до самой верхней строки. Находящаяся там буква и будет символом открытого текста.

Мы имеем слово "SPAKOA", которое нужно расшифровать. И знаем ключ - "SEA".

Сопоставляем :

SPAKOA

SEASEA

Берём первую букву ключа - "S". В этой строке находим первую букву шифротекста - "S", после чего проводим от неё вверх до последней строки и находим "A". Таким образом, с помощью нехитрых манипуляций, снова получаем слово "ALASKA".


============

https://t.me/ENcoding

============




Report Page