Простейшие алгоритмы шифрования
Алгоритмы шифрования делятся на два больших класса: симметричные (AES, ГОСТ, Blowfish, CAST, DES) и асимметричные (RSA, El-Gamal). Симметричные алгоритмы шифрования используют один и тот же ключ для зашифровывания информации и для ее расшифровывания, а асимметричные алгоритмы используют два ключа - один для зашифровывания, другой для расшифровывания. Суть методов перестановки состоит в том, что входной поток исходного текста делится на блоки, в каждом из которых выполняется перестановка символов по определённым правилам, при этом используются только символы исходного (незашифрованного) текста. В классической криптографии закон, по которому переставляются символы шифруемого текста, задается какой-нибудь геометрической фигурой. Ключ определяет характеристики фигуры. Процедура шифрования состоит из двух шагов – записи и чтения. Сначала исходный текст заполняет фигуру по правилам записи. Затем шифротекст получается из заполненной фигуры по правилам чтения. Например, с помощью шифра "железнодорожная изгородь" буквы исходного текста изображаются в виде железнодорожной изгороди, и затем читаются построчно. Простой пример приведенный на рисунке (табличка ниже) иллюстрирует этот метод. В качестве исходного текста используется английское слово CRYPTOGRAPHY в результате шифрования получим СTARPORPYYGH – соответствующий ему шифротекст. Ключ к шифротексту задается "высотой" изгороди, которая в данном примере равна 3. C R Y P T O G R A P H Y
C T A R P O R P Y Y G H
C T A R P O R P Y Y G H
«Ключевая фраза» Одной из наиболее известных модификаций метода перестановки является использование ключевого слова или фразы в качестве правила перестановки столбца. Слово КРИПТОГРАФИЯ может быть использовано как ключ. Буквам ключевого слова назначаются номера в соответствии с алфавитом, если буква встречается несколько раз, то нумерация определяется порядком следования повторяющихся букв в ключевом слове. Исходный текст: ЭТО–_ЛЕКЦИЯ_ПО_АЛГОРИТМАМ_ШИФРОВАНИЯ Ключ: КРИПТОГРАФИЯ К Р И П Т О Г Р А Ф И Я 5 8 3 7 10 6 2 9 1 11 4 12 Э Т О – _ Л Е К Ц И Я _ П О _ А Л Г О Р И Т М А М _ Ш И Ф Р О В А Н И Я ШИФРОТЕКСТ: ЦЕОЯЭЛ–ТК_И_ИО_МПГАОРЛТААОШИМРИ_ВФНЯ Метод поворачивающейся решетки Суть метода – исходный текст зашифровывался через отверстия решетки, которая по мере заполнения поворачивалась на 90 градусов. Ячейки нумеруются следующим образом: ячейки, которые при повороте на 90 занимают одинаковое положение, нумеруются одинаково. Затем вырезается по одному квадрату с одинаковым номером.
Простейшие подстановочные шифры Подстановочные шифры (SubstitutionCipher) реализуют замену символов исходного текста на подстановочные элементы, которые могут быть символами алфавита исходных текстов. Простейший вид подстановочного шифра использует в качестве элементов подстановки циклически сдвинутый алфавит исходных текстов на k позиций, где k – это ключ к шифру. Этот вид шифра часто называют шифром Цезаря, так как аналогичный алгоритм использовал Юлий Цезарь для случая k=3. На рис.1.3 приведена иллюстрация метода Цезаря. Ek(i) = (i+k) mod C R Y P T O G R A P H Y
F U B S W R J U D S K B В современных криптосистемах, используемых на практике, процедура подстановки обычно комбинируется с процедурой перестановки. Например, хорошо известный на практике алгоритм шифрования DataEncryptionStandard (DES), кодирует 64-битные блоки исходного текста, используя комбинацию процедур подстановки и перестановки. Существуют более сложные методы подстановки. Шифраторы, основанные на умножении номера каждого символа исходного текста на значение ключа k, описываются следующим отношением: Ek(i) = (i*k) mod n,
|