Перестановочный шифр

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Простой перестановочный шифр с фиксированным периодом n подразумевает разбиение исходного текста на блоки по n символов и использование для каждого такого блока некоторой перестановки E. Ключом такого шифра является используемая при шифровании перестановочная матрица P или вектор t, указывающий правило перестановки. Таким образом, общее число возможных ключей определяется количеством блоков m в исходном тексте и равно m!. При дешифрации используется матрица обратной перестановки D, являющаяся обратной к матрице P по умножению, то есть D*P=I, где I — единичная матрица.

Пример (шифр Древней Спарты)[править | править вики-текст]

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

  • узкая пергаментная лента наматывалась по спирали на цилиндрическую палочку;
  • шифруемый текст писался на пергаментной ленте по длине палочки, после того как длина палочки оказывалась исчерпанной, она поворачивалась и текст писался далее, пока либо не заканчивался текст, либо не исписывалась вся пергаментная лента. В последнем случае использовался очередной кусок пергаментной ленты.

Расшифровка выполнялась с использованием палочки такого же диаметра.

Таким образом, длина блока n определялась длиной и диаметром палочки, а само шифрование заключалось в перестановке символов исходного текста в соответствии с длиной окружности палочки. Например, используя палочку, по длине окружности которой помещается 4 символа, а длина палочки позволяет записать 6 символов, исходный текст: «это шифр древней спарты» превратится в шифрограмму: «эфвптрнао ер дйтшр ыиес». Длина блока n = 23, а вектор t, указывающий правило перестановки, для этого шифра может быть записан следующим образом: t = {1, 7, 13, 19, 2, 8, 14, 20, 3, 9, 15, 21, 4, 10, 16, 22, 5, 11, 17, 23, 6, 12, 18}.