Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Многоалфавитное шифрование с ключом произвольной длины

тимур измайлов Профи (591), на голосовании 6 дней назад
Исходный текст: computer
Задание: Подберите такую последовательность символов ключа, чтобы результатом двукратного шифрования этим же ключом стал исходный текст
Голосование за лучший ответ
Jurijus Zaksas Искусственный Интеллект (442882) 1 месяц назад
Все символы ключа - нулевые.
Тогда результатом произвольного количества применения данного ключа произвольной же длины будет исходный текст.
ПапаВысший разум (142207) 1 месяц назад
Что-то вспомнились байки про одного админа RSX. В её старых версиях, которые стояли в учебных заведениях, пароли пользователей никак не шифровались. Админ решил залатать эту дыру и быстренько доработал код системы, чтобы делать XOR с какой-то своей маской. Потом он подумал, что криптостойкость XOR недостаточна. И сделал XOR три раза (видимо, два раза перед этим тоже попробовал, но получил что-то не то).
** Эгоист ** Знаток (483) 1 месяц назад
Для того чтобы двукратное шифрование с использованием одного и того же ключа вернуло исходный текст, необходимо, чтобы ключ и операция шифрования были инверсными. Это можно достичь, если ключ будет составлен из символов, которые в процессе шифрования и последующего расшифрования «отменяют» друг друга.

Рассмотрим пример. Если у нас есть исходный текст "computer" и мы используем ключ "key":

Шифруем "computer" с ключом "key".
Получаем зашифрованный текст.
Затем снова шифруем полученный зашифрованный текст тем же ключом "key".
Если ключ был подобран правильно, то мы должны получить обратно "computer".

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

Например, возьмем ключ "cpmutroee", который состоит из тех же букв, что и "computer", но в перемешанном порядке.

Пример
Исходный текст: computer
Ключ: cpmutroee
Шифруем:

1-й проход: computer → зашифрованный текст
2-й проход: зашифрованный текст → computer
Таким образом, можно подбирать ключи, которые обеспечат двукратное возвращение к исходному тексту.
Похожие вопросы