Cryptography
2 April 2011

Элементарная криптография

Под катом:
  • Шифр Цезаря
  • Шифр пар
  • Шифр четырех квадратов
  • Матричный шифр
  • Шифр ADFGX
  • Шифр Виженера

Шифр Цезаря


Каждую букву заменяют на третью (или N-ю) по алфавиту после нее.
а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я
б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я а
в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я а б
г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я а б в
...
Сообщение: хабрахабр
Шифр:         шгдугшгду


Шифр пар


Алфавит случайным образом записывают в 2 строки, и шифрования текста происходит заменой буквы на соседнюю ей по вертикали.
Пример таблицы:
в ы э ё у ж и ф м н о ъ к п а р я
е т х й ш ю д ь  б щ з с ц г ч л -
Сообщение: хабрахабр
Шифр:         эчмлчэчмл


Шифр четырех квадратов


Строят 4 квадрата размера 5х5 или 4х4 (в зависимости от объема алфавита). В каждый из них случайным образом записывают алфавит.



Шифрование: Выбирая по 2 буквы сообщения, находим их соответственно в левом верхнем и правом нижнем квадрате.
Для шифра используем 2 буквы, формирующих с выбранными вершины прямоугольника (слева направо)

Сообщение: хабрахабр (ха бр ах аб рр)
Шифр:         днедлягозн (дн ед ля го зн)


Матричный шифр


Подготавливаем матрицу MxN.
Подготавливаем два ключа KM и KN.

1) Сообщение по строкам записываем в матрицу MxN.
2) По краям матрицы записываем ключи.
3) Строки переставляем так, чтобы буквы ключа стали упорядоченными по алфавиту.
То же делаем со столбцами.
4) Списываем буквы из матрицы по столбцам.

Размеры матрицы: M=4, N=5
Ключ KM: пуля, KN: дурак.



Сообщение: заголовок должен быть наполнен смыслом
Шифр:         еокьозобнлднжготлавымлмосаеооныооосолпно


Шифр ADFGX


В матрицу 5х5 случайным образом записывают (определенным образом) буквы латинского алфавита
Используем слово-ключ (например, formula).



Сообщение: one two three

1) каждой букве сообщения ставим в соответствие 2 буквы (по таблице).



2) полученный текст записываем под ключом:



3) переставляем столбцы так, чтобы буквы ключа упорядочились по алфавиту:



4) записываем буквы из полученной матрицы (по столбцам) в шифр.

Сообщение: one two three
Шифр:         ADXF DDDF FAFX XDDX FXDX FGXF XFXF


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


На алфавите длиной N вводят операцию добавления (циклического сдвига) букв.



Пронумеровав буквы, добавляем их по модулю N (для англ. алфавита N=26).



Выбираем слово-ключ (пускай pass) и подписываем его под сообщением сколько нужно раз



Сообщение: search twitter
Шифр:         hesjrhloxtlwg



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

+137
94.9k 281
Comments 40
Top of the day