Инволюционный шифр (например, ROT13) для алфавита с нечетным количеством символов

ROT13 обладает прекрасным свойством быть инволюцией для алфавита AZ (26 букв), то есть:

ROT13(ROT13(string-A-to-Z)) = string-A-to-Z ;

Что такое простая шифровальная функция для алфавита с нечетным количеством символов, имеющего такое же свойство? Очевидно, прямая замена не сработает, но я ищу что-то почти такое же простое.

3 ответа

Решение

Либо исключите один из символов алфавита из шифра, либо дополните его символом, отсутствующим в алфавите.

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

Вы можете "поменять" алфавит, переключаясь A с Z а также B с Y и т.п.

Другие вопросы по тегам