Инволюционный шифр (например, ROT13) для алфавита с нечетным количеством символов - PullRequest
2 голосов
/ 02 декабря 2010

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

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

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

Ответы [ 3 ]

4 голосов
/ 02 декабря 2010

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

2 голосов
/ 02 декабря 2010

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

1 голос
/ 02 декабря 2010

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

...