Материал предоставлен http://it.rfet.ru

Блочные шифры.

В самом общем виде идеология блочного шифрования выглядит так: открытый текст разбивается на блоки различной длины, каждый блок шифруется по особому методу, полученные блоки криптограммы после некоторой перестановки «сшиваются» в единый массив.

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

Шифр Уитстона-Плейфера

Исторически первым блочным шифром был шифр, разработанный английским физиком и криптографом Чарлзом Уитстоном (1802-1875) и представленный лордом Плейфером министру иностранных дел Великобритании Палмерстону в 1854 году. Английский алфавит (с %%j=i%%) обычным приемом парольного перемешивания вписывается в таблицу %%5×5%%.

palme
rston
bcdfg
hikqu
vwxyz

Открытый текст разбивается на блоки длины 2. Если обе буквы блока стоят в одной строке (в одном столбце) таблицы, они заменяются их правыми (нижними) соседями. Если же буквы блока стоят в разных строчках и разных столбцах, то каждая из них заменяется на букву, стоящую в той же строке, но в столбце другой буквы блока. Примеры соответствий: cf→DG, wz→XV, oq→FY, ez→NE, su→NI. Если в тексте рядом стоят две одинаковые буквы, между ними вставляется x, так что lesson for miss Dolly предстанет в виде lesxson for misxs Dolxly.

Шифр Уитстона-Плейфера использовался в ходе Первой мировой войны британской дипломатией, а во Второй мировой войне – в соединениях германской армии на Западном фронте (и его читали союзники).

Шифр Виженера.

Французский криптограф Блез Виженер (1523-1596) опубликовал свой метод в «Трактате о шифрах» в 1585 году. С тех пор на протяжении трех столетий шифр Виженера считался нераскрываемым, пока с ним не справился австриец Фридрих Казиски (в 1863 году). При этом способе шифрования открытый текст разбивается на блоки некоторой длины %%n%%. Задается ключ – последовательность из %%n%% натуральных чисел: %%a_1, a_2,...,a_n%%. Затем в каждом блоке первая буква циклически сдвигается вправо по алфавиту на %%a_1%% позиций, вторая буква – на %%a_2%% позиций, ..., последняя – на %%a_n%% шагов.

Для лучшего запоминания, в качестве ключа обычно берут осмысленное слово, и алфавитные номера составляющих его букв используют для вычислений, связанных со сдвигами. Так, указанный в приведенном примере ключ имеет буквенную форму ш и ф р (в русском алфавите ш –двадцать пятая буква, и – девятая, ф – двадцать первая, р – семнадцатая). Для дальнейшего нам понадобится знать номера всех букв русского алфавита:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24 25 26 27 28 29 30 3132
абвгдежзийклмноп
рстуфхцчшщъыьэюя

и латинского:

1 2 3 4 5 6 7 8 9 10 11 12 13
14 15 16 17 18 19 20 21 22 23 24 2526
abcdefghijklm
opqrstuvwxyz

Из-за нехватки опытных шифровальщиков шифр Виженера с длиной блока, равной всего лишь 3, применялся в низовых звеньях русской армии в 1916 году, во время наступления Юго-Западного фронта против австро-венгерской армии – знаменитого брусиловского прорыва. Противник легко читал русские оперативные шифровки, что, в конце концов, и не позволило генералу Брусилову добиться стратегического успеха в блестяще задуманной операции.

Шифр Цезаря.

Очень частный случай конструкции Виженера использовал римский полководец Юлий Цезарь: он каждую букву открытого текста циклически сдвигал на три позиции вправо. Знаменитая фраза «Пришел, увидел, победил», подводившая итог битвы при Зеле в августе 47 года до н.э., в шифрованном письме Цезаря выглядела как ZHQM ZMGM ZMFM.

Подстановочные шифры (шифры замены)Модульная арифметика.