- /
- /
- /
Шифр Гронсфельда
Шифр Гронсфельда представляет собой модификацию шифра Цезаря числовым ключом. Для этого под буквами исходного сообщения записывают цифры числового ключа. Если ключ короче сообщения, то его запись циклически повторяют. Шифртекст получают примерно, как в шифре Цезаря, но отсчитывают по алфавиту не третью букву, а выбирают ту букву, которая смещена по алфавиту на соответствующую цифру ключа.
Хорошо можно применить данную кодировку при написании заданий для городских квестов.
Граф Гронсфельд первым основал дешифровальное отделение в Германии. Он же является автором одноименного шифра.
Допустим, мы хотим зашифровать слово «ТАЙНЫ», используя ключ «103». Записываем циклически под словом ТАЙНЫ наш ключ, после чего сдвигаем по алфавиту каждую букву на столько букв вперед, сколько указано ниже, получим:
Т А Й Н А
1 0 3 1 0
У А М О А
Соответственно для дешифровки, сдвиг по алфавиту происходит в обратную сторону.
Теперь ещё пример по шифру Гронсфельда. Есть английские символы + ещё пробел, зашифруем SOURCE CODE (перевод — «исходный код»). Первые 6 символов шифрованного текста по-прежнему будут TSWTDI, как в примере со слово SOURCE и алфавитом без пробела. При этом мы применили один раз все цифры ключа 1422, также пришлось второй раз задействовать 1 и 4.
Далее по алгоритму шифра Гронсфельда задействуем двойку. На очереди пробел, он 26-ой, если A — символ номер 0. (26 + 2) mod 27 = 1, то есть вместо пробела ставим B. Теперь C и вторая двойка в ключе. Если A — номер 0, то C — номер 2. (2 + 2) mod 27 = 4, то есть это E. Далее шифруем O, все цифры ключа использованы, опять начинаем со старшей (самой левой) цифры, то есть нужен сдвиг на 1, вместо O будет P. И так далее…
Итог такой:
Алфавит: ABCDE…XYZ_ | |||||||||||
Открытый текст | S | O | U | R | C | E | _ | C | O | D | E |
Применение ключа | 1 | 4 | 2 | 2 | 1 | 4 | 2 | 2 | 1 | 4 | 2 |
Шифрованный текст | T | S | W | T | D | I | B | E | P | H | G |
Самый интересный пример
Теперь опять английский с пробелом, но текст: MY FAT CAT, ключ: 143.
Итог такой:
Алфавит: ABCDE…XYZ_ | ||||||||||
Открытый текст | M | Y | _ | F | A | T | _ | C | A | T |
Применение ключа | 1 | 4 | 3 | 1 | 4 | 3 | 1 | 4 | 3 | 1 |
Шифрованный текст | N | B | C | G | E | W | A | G | D | U |
Данный пример применения шифра Гронсфельда — яркая демонстрация того, как шифры сложной замены затирают статистику вхождения символов в открытый текст. Если бы у нас был шифр простой замены, то одинаковые символы заменились бы одинаково. Особо негативно это сказалось бы на пробелах: очень часто встречающийся символ шифрованного текста — наверняка «маска» пробела. По шифру Гронсфельда в нашем примере пробелы заменены по-разному.
Алфавит: ABCDE…XYZ_ | ||||||||||
Открытый текст | M | Y | _ | F | A | T | _ | C | A | T |
Применение ключа | 1 | 4 | 3 | 1 | 4 | 3 | 1 | 4 | 3 | 1 |
Шифрованный текст | N | B | C | G | E | W | A | G | D | U |
Одинаковые символы в шифрованном тексте не говорят о частоте символов в открытом тексте: в табличке выше, например, два разных символа F и C в итоге заменились одним и тем же G.