Инволюционный шифр (например, ROT13) для алфавита с нечетным количеством символов
ROT13 обладает прекрасным свойством быть инволюцией для алфавита AZ (26 букв), то есть:
ROT13(ROT13(string-A-to-Z)) = string-A-to-Z ;
Что такое простая шифровальная функция для алфавита с нечетным количеством символов, имеющего такое же свойство? Очевидно, прямая замена не сработает, но я ищу что-то почти такое же простое.
3 ответа
Решение
Либо исключите один из символов алфавита из шифра, либо дополните его символом, отсутствующим в алфавите.
Такой шифр обязательно является продуктом непересекающихся транспозиций, поэтому, если бы у вас было нечетное количество букв, нужно было бы остаться на месте.
Вы можете "поменять" алфавит, переключаясь A
с Z
а также B
с Y
и т.п.