Простое XOR
Перестановочные шифры
В перестановочном шифременяется не открытый текст, а порядок символов. В простом столбцовом перестановочном шифреоткрытый текст пишется горизонтально на разграфленном листе бумаги фиксированной ширины, а шифротекст считывается по вертикали (см. рис. 1). Дешифрирование представляет собой запись шифротекста вертикально на листе разграфленной бумаги фиксированной ширины и затем считывание открытого текста горизонтально.
Рис. 1. Столбцовый перестановочный фильтр
Так как символы шифротекста те же, что и в открытом тексте, частотный анализ шифротекста покажет, что каждая буква встречается приблизительно с той же частотой, что и обычно. Это даст криптоаналитику возможность применить различные методы, определяя правильный порядок символов для получения открытого текста. Применение к шифротексту второго перестановочного фильтра значительно повысит безопасность. Существуют и еще более сложные перестановочные фильтры, но компьютеры могут раскрыть почти все из них.
Немецкий шифр ADFCVX, использованный в ходе Первой мировой войны, представлял собой перестановочный фильтр в сочетании с простой подстановкой. Этот для своего времени очень сложный алгоритм был раскрыт Жоржем Пенвэном (Georges Painvin), французским криптоаналитиком.
Хотя многие современные алгоритмы используют перестановку, с этим связана проблема использования большого объема памяти, а также иногда требуется работа с сообщениями определенного размера. Подстановка более обычна.
XOR представляет собой операцию "исключающее или". Это обычная операция над битами:
0Å0 = 0
0Å1 = 1
1Å0 = 1
1Å1 = 0
Также заметим, что:
аÅа = 0
aÅbÅb=a
Алгоритм простого XOR по сути является полиалфавитным шифром Виженера. Это симметричный алгоритм. Открытый текст подвергается операции "исключающее или" вместе с ключевым текстом для получения шифротекста. Так как повторное применение операции XOR восстанавливает оригинал для шифрования и дешифрирования используется одна и та же программа:
РÅК = С
СÅК = Р
Этот тип шифрования легко вскрывается, даже без компьютера. Его взлом на компьютере занимает несколько секунд.