бесключевые шифры ROT13 / 47 ilk - PullRequest
1 голос
/ 15 ноября 2008

Знаете ли вы о каких-либо других шифрах, которые работают как семейство ROT47? Мое главное требование - чтобы он был без ключа.

1 Ответ

4 голосов
/ 15 ноября 2008

Звучит так, как будто вы ищете какие-то "классические криптографические" решения.

ЗАМЕНЯЮЩИЕ ШИФРЫ - это кодировки, в которых один символ заменяется другим. Например. A-> Y, B-> Q, C-> P и т. Д. «Цезарь Шифр» - это особый случай, когда порядок сохраняется, а «ключ» - это смещение. В случае rot13 / 47 «ключ» равен 13 или 47 соответственно, хотя это может быть что-то вроде 3 (A-> D, B-> E, C-> F, ...).


ТРАНСПОЗИЦИОННЫЕ ШИФРЫ - это те, которые не заменяют буквы, но которые переставляют буквы заранее определенным способом. Например:

CRYPTOGRAPHY

может быть записано как

C Y T G A H
 R P O R P Y

Таким образом, зашифрованный вывод создается чтением двух строк слева направо

CYTGAHRPORPY

Другим свойством rot13 / 47 является то, что оно ОБРАТНО:

encode(encode(plaintext)) == plaintext

Если это свойство, которое вы хотите, вы можете просто XOR сообщение с известным (ранее определенным) значением XOR. Затем XOR-шифрованный текст с тем же значением вернет исходный открытый текст. Примером этого может служить функция memfrob , которая просто XOR буфер с двоичным представлением числа 42.


Вы также можете проверить другие формы кодирования, такие как Base64 , если это ближе к тому, что вы ищете.


!! Отказ от ответственности - если у вас есть данные, которые вы на самом деле пытаетесь защитить от кого-либо, не используйте ни один из этих методов. Хотя все эти методы интересны, их просто тривиально.

...