Простые алгоритмы шифрования
В начале нашей эры в 56 году н.э. во время войны с галлами Юлий Цезарь использует шифр простой замены. Более сложной разновидностью шифра замены является «квадрат Полибия». В XVI веке н.э. французский дипломат Вижинер предложил оригинальный шифр сложной замены, получивший впоследствии название системы Виженера.
В тоже время Ф. Бекон впервые предложил представление букв алфавита пятизначным двоичным кодом: А - 00001, Б - 00010… Такой способ шифрования обладал слабой стойкостью, однако эта идея, через три столетия легла в основу электрической и электронной связи на основе кодов Морзе, Бодо, телеграфных кодов.
Известный математик К. Гаусс в 18 - 19 веках создал шифр с многократной подстановкой или равночастный шифр. В нашем столетии американский ученый Вернам предложил систему побитового шифрования открытого текста, представленного телеграфным двоичным кодом, когда каждый бит преобразуется с использованием бита ключа по алгоритму сложения по модулю два.
В последнее время широкое распространение получили криптосистемы с открытым ключом, или двух ключевые криптосистемы или асимметричные криптосистемы, в то время как обычные криптосистемы с секретным ключом называют симметричными криптосистемами. Принципы построения таких криптосистем и лежащих в их основе криптоалгоритмов рассмотрим далее.
Примеры решения задач
1) С использованием шифра Цезаря зашифровать фразу (ключ 3):
Шифр Цезаря – шифр простой замены.
Решение: Под алфавитом открытого текста пишется тот же алфавит со сдвигом на такое количество позиций, которое равно значению ключа шифрования по циклу. При шифровании буквы открытого текста у верхнего алфавита заменялись буквами нижнего алфавита.
А Б В Г Д Е Ж … Э Ю Я
Г Д Е Ж … Э Ю Я А Б В
Т.о., получаем криптотекст: «ылчу щзкгув - ылчу тусфхсм кгпзрю».
2) С использованием системы Виженера зашифровать фразу (ключ море):
Защита информации
Решение: Составим матрицу шифрования. Под алфавитом открытого текста пишется тот же алфавит столько раз, сколько букв в слове-ключе, причем каждая строка начинается с очередной буквы ключа шифрования.
Ключ: Мореморемореморе
Закрытый текст: Фойняощтбэбсмещн
Приведенные простые примеры показывают, что вероятность успешного криптоанализа (и расшифровки) зависит от многих факторов: от системы шифрования, от длины перехваченного сообщения, от языка и алфавита исходного сообщения.
Однако еще в XIX веке специалисты в области криптографии предположили, что секретность алгоритма шифрования не является гарантией от взлома. Более того, в дальнейшем было понято, что понастоящему надежная система шифрования должна оставаться защищённой, даже если противник полностью узнал алгоритм шифрования. Секретность ключа должна быть достаточна для хорошего шифра, чтобы сохранить стойкость к попыткам взлома. Этот фундаментальный принцип впервые был сформулирован в 1883 Керкхоффсом (A. Kerckhoffs) и обычно называется принципом Керкхоффса.
Например, в первом примере усовершенствуем шифр Цезаря с учетом правила Керкхоффса и предположим, что буквы сдвигаются не на три знака вправо, а на n. В этом случае в системе шифрования появляется ключ – число n – параметр сдвига. Отправитель и получатель могут каким-либо образом договариваться (например, лично) и иногда менять значение ключа. Так как n может принимать разные значения, знание одного только алгоритма не позволит противнику расшифровать секретное сообщение.