Недостатком всех шифров простой замены является возможность взлома шифртекста на основе анализа частот появления букв. Криптоаналитическая атакапротив системы одноалфавитной замены начинается с подсчета частот появления символов:
² определяется число появлений каждой буквы в шифртексте.
² полученное распределение частот букв в шифртексте сравнивается с распределением частот букв в алфавите исходных сообщений, например в английском.
² буква с наивысшей частотой появления в шифртексте заменяется на букву с наивысшей частотой появления в английском языке и т.д.
По закону больших чисел вероятность успешного вскрытия системы шифрования повышается с увеличением длины шифртекста.
Простейшая защита против атак, основанных на подсчете частот, обеспечивается в криптосистеме омофонов (HOMOPHONES), которая также является одноалфавитной: только при этом буквы исходного сообщения имеют несколько замен. И число замен для каждой буквы пропорционально частоте её появления. Таким образом, размер алфавита шифртекста больше размера исходного алфавита.
|
|
При шифровании каждая буква алфавита заменяется на трехразрядное число. Замены (их еще называют омофонами) представлены числами от 000 до 999. Самые редко встречающиеся буквы получают по одному числу для замены, остальные – по несколько чисел, одно из которых выбирается случайным равновероятным образом при шифровании данной буквы. Число чисел для замены каждой буквы берется пропорционально частоте её появления. При шифровании буквы исходного сообщения, выбирается одна из ее замен, то есть каждая буква исходного алфавита шифруется тремя цифрами и шифртекст в три раза длиннее исходного текста.
Например, английская буква Е встречается в 3 раза чаще буквы L и в 123 раза чаще букв J и Z, а русская буква Е встречается в 36 раз чаще, чем буква Ф. Тогда в английском алфавите буквы J и Z для замены получают по одному числу, а буква Е заменяется на выбранное случайным образом одно из 123 трехзначных чисел из назначенных ей в таблице замен.
Таким образом, каждый омофон появляется в шифртексте равновероятно, и простой подсчет частот ничего не даст криптоаналитику. Однако доступна также информация о распределении пар и троек букв в различных естественных языках. Криптоанализ, основанный на такой информации, будет более успешным, но и более трудоемким.
Подобные шифры, где одной букве открытого текста ставится в соответствие несколько букв из алфавита шифртекста называют многозначными шифрами замены. Хотя криптоанализ таких шифров и более трудоемкий, принципиальный подход к дешифрованию таких систем тот же, что и для шифров простой замены.
|
|
Шифры сложной замены
Шифры сложной замены называют многоалфавитными, так как для шифрования каждого символа исходного сообщения применяют свой шифр простой замены. Многоалфавитная подстановка последовательно и циклически меняет используемые алфавиты.
При r -алфавитной подстановке символ х0 исходного сообщения заменяется символом из алфавита В0, символ х1 – символом из алфавита B1 и так далее, символ хr-1 заменяется символом из алфавита Br-1, символ хr заменяется символом снова из алфавита В0 и т.д.
Пример многоалфавитной подстановки (r =4):
Входной символ х0 х1 х2 х3 х4 х5 х6 х7 х8 х9
Алфавит подстановки B0 B1 B2 B3 B0 B1 B2 B3 B0 B1
Эффект использования многоалфавитной подстановки заключается в том, что обеспечивается маскировка естественной статистики исходного языка, так как конкретный символ из исходного алфавита Х может быть преобразован в несколько различных символов шифровальных алфавитов В. Степень обеспечиваемой защиты теоретически пропорциональна длине периода r в последовательности используемых алфавитов В.
Многоалфавитные шифры замены предложил и ввел в практику криптографии Леон Батист Альберти, который также был известным архитектором и теоретиком искусства. Его книга "Трактат о шифре", написанная в 1566 г., представляла собой первый в Европе научный труд по криптологии. Криптологи всего мира почитают Альберти основоположником криптологии. Он же впервые выдвинул идею повторного шифрования, которая в виде идеи многократного шифрования лежит в основе всех современных шифров с секретным ключом. Кроме шифра многоалфавитной замены Альберти также подробно описал устройства для его реализации.
Диск Альберти представляет собой систему из внешнего неподвижного и внутреннего подвижного дисков, на которые нанесены символы алфавита и цифры. На внешнем диске символы расположены в алфавитном порядке, на внутреннем – в произвольном. Ключом шифрования являются порядок букв на внутреннем диске и начальное положение внутреннего диска относительно внешнего. После шифрования слова внутренний диск сдвигался на один шаг. Количество алфавитов r в нем равно числу символов на диске.
Шифр Гронсфельда
Шифр сложной замены, называемый шифром Гронсфельда, представляет собой модификацию шифра Цезаря числовым ключом. Для этого под буквами исходного сообщения записывают цифры числового ключа. Если ключ короче сообщения, то его запись циклически повторяют.
Шифртекст получают аналогично, как в шифре Цезаря, но отсчитывают по алфавиту не третью букву (как это делается в шифре Цезаря), а выбирают ту букву, которая смещена по алфавиту на соответствующую цифру ключа. Например, применяя в качестве ключа группу из четырех начальных цифр числа е (основания натуральных логарифмов), а именно 2718, получаем для исходного сообщения ВОСТОЧНЫЙ ЭКСПРЕСС следующий шифртекст:
Сообщение | В | О | С | Т | О | Ч | Н | Ы | Й | Э | К | С | П | Р | Е | С | С | |
Ключ | 2 | 7 | 1 | 8 | 2 | 7 | 1 | 8 | 2 | 7 | 1 | 8 | 2 | 7 | 1 | 8 | 2 | |
Шифртекст | Д | Х | Т | Ь | Р | Ю | О | Г | Л | Д | Л | Щ | С | Ч | Ж | Щ | У |
Чтобы зашифровать первую букву сообщения В, используя первую цифру ключа 2, нужно отсчитать вторую по порядку букву от В, получается первая буква шифртекста Д.
Следует отметить, что шифр Гронсфельда вскрывается относительно легко, если учесть, что в числовом ключе каждая цифра имеет только десять значений, а значит, имеется лишь десять вариантов прочтения каждой буквы шифртекста. С другой стороны, шифр Гронсфельда допускает дальнейшие модификации, улучшающие его стойкость, в частности двойное шифрование разными числовыми ключами. Этот шифр представляет собой по существу частный случай системы шифрования Вижинера, который проанализировал и объединил предложенные Тритемием, Белазом и Портом подходы, по существу не внеся в них ничего оригинального.
|
|