криптография — такое дело, где не надо ничего выдумывать, если ты, конечно, не криптограф. стойкость систем, основанных на замене, равна нулю. любых самодельных — еще меньше =)
Во-первых хотелось чего-нибудь своего, ну а во-вторых чтобы была возможность грубо говоря «на коленке» провести шифрование/дешифрацию подручными средствами. В моем случае достаточно иметь распечатку аналога приведенного в статье изображения (применительно к используемому алфавиту).
Метод Касиски применим в случае наличия в кодированном тексте повторяющихся последовательностей для последующего определения длины ключа. То бишь нужен достаточно длиный текст, причем желательно художественный, чтобы использовать частотное распределение. В случае достаточно коротких текстов и длинных контрольных слов метод практически неприменим.
В применительности к моему варианту — для усложнения подбора указанным методом достаточно использовать длинный ключ. Как дополнительные меры противодействия можно увеличить длину случайных символов. Да и собственно из исходного набора буквоцифр достаточно изъять некоторые (они будут вставлены в результат без конвертации). после этого метод Касиски практически не страшен.
«результат всегда будет выглядеть одинаково при кодировании («ИВАНОВ» всегда будет «ИДЕЮАВ»)»
Вопрос почему? Ведь если вы зададите другой ключ тогда результат будет другой… или я не прав?
И к тому же если «Иванов» будет смещен на несколько символов (пробелов), результат будет другим!
Вообще говоря, ключ Вижинера является самым устойчивым к взлому при выполнении следующих условий: 1) ключ не короче сообщения, 2) ключ случаен, 3) ключ меняется от сообщения к сообщению. Устойчивость здесь определяется случайностью ключа: АБСОЛЮТНО случайный ключ (при выполнении прочих условий) делает текст НЕВЗЛАМЫВАЕМЫМ (цена взлома — создание сообщения с нуля).
Реализация (для цифровой техники — в частности, компьютера, контроллера) элементарная: шифрованный_текст = исходный_текст XOR ключ. Расшифровка та же самая: исходный_текст = шифрованный_текст XOR ключ.
В реальности он и используется в самых ответственных случаях.
Вся проблема тут для криптографии в АБСОЛЮТНОЙ случайности, которая, увы, не существует…
Модификация шифра Виженера