Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
105-110.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
63.09 Кб
Скачать

Алгоритм des

Долгое время самым популярным алгоритмом симметричного шифрования являлся DES (Data Encrypting Standart), принятый в 1977 году. Этот алгоритм базируется на структуре шифра Файстеля с размером блока 64 бита и 56-битным ключом.

Функция раунда F использует набор из восьми так называемых S-матриц. Каждая матрица состоит из 4 строк, причем каждая строка представляет собой перестановку чисел от 0 до 15 (соответственно, 16 столбцов). Матрицы жестко заданы8. Каждая матрица по 8 S-матрицы считались самой сомнительной частью алгоритма DES, поскольку создатели алгоритма не раскрыли принципы их заполнения — почему выбраны именно эти матрицы и не содержит ли алгоритм

Получает на вход шесть бит и выдает четырехбитовый результат. Первый и последний бит входного значения задают строку матрицы, а четыре остальных — столбец. Двоично представление числа, находящегося на их пересечении, и будет результатом преобразования. Собственно же преобразование F заключается в следующем:

1. 32-битовый блок Ri расширяется до 48 битов с помощью специальной таблицы пу-тем дублирования некоторых 16 битов.

2. Полученный результат складывается с 48-битным подключом Ki операцией XOR.

3. Результат сложения разбивается на 8 шестибитовых блоков и каждый из них пре-образуется с помощью соответствующей S-матрицы.

4. Получившийся в итоге 32-битный блок подвергается жестко заданной в алгоритме перестановке.

Долгое время DES являлся федеральным стандартом шифрования США. Этот алгоритм показывает хороший лавинный эффект (изменение одного бита открытого текста или ключа приводит к изменению многих битов зашифрованного текста) и успешно противостоял многолетним попыткам взлома. Однако длина ключа в 56 битов при возросшей производительности ЭВМ сделала шифр потенциально уязвимым к перебору ключей, по-этому в 1997 году был объявлен конкурс на новый алгоритм, который должен был стать криптостандартом на ближайшие 10-20 лет.

Алгоритм aes

Победитель конкурса был определен в 2000 году — им стал бельгийский шифр

RIJNDAEL, который был переименован в AES (Advanced Encryption Standard). Он является нетрадиционным блочным шифром, поскольку не использует сеть Фейштеля. Каждый блок входных данных представляется в виде двумерного массива байт ( 4х4, 4х6 или 4х8 в зависимости от размера блока, которая может варьироваться). В зависимости от размера блока и длины ключа алгоритм содержит от 10 до 14 раундов, в каждом из которых про-водится ряд преобразований — либо над независимыми столбцами, либо над независимыми строками, либо вообще над отдельными байтами в таблице.

Среди других современных алгоритмов симметричного шифрования следует назвать шифры IDEA, Blowfish, RC5, CAST-128.

109

Алгоритмы шифрования с открытым ключом

В алгоритмах шифрования с открытым ключом каждый пользователь имеет пару ключей, связанных друг с другом некоторой зависимостью. Ключи обладают свойством:

  • текст, зашифрованный одним ключом, может быть расшифрован только с помощью парного ему ключа. Один ключ называется секретным (закрытым) ключом. Пользователь хранит свой секретный ключ в надежном месте и никому его не передает. Второй ключ называется открытым ключом, и пользователь, напротив, сообщает его всем желающим (а также может опубликовать в любом общедоступном источнике).

Если пользователь A хочет отправить зашифрованное послание пользователю B, он шифрует его с помощью открытого ключа B. Теперь текст не сможет прочесть никто, кроме B (даже сам A), поскольку для дешифрования нужен закрытый ключ.

Принципиальный метод шифрования с открытым ключом впервые был публично предложен в 1976 году Диффи и Хеллманом. При этом они не смогли придумать конкретного алгоритма, но сформулировали принципиальные условия, которым такие алгоритмы должны удовлетворять:

1. Процесс генерации пары ключей (открытый и закрытый) не должен представлять вычислительных трудностей.

2. Процесс зашифрования текста, т.е. вычисления E(M, Kоткр), а также процесс де-шифрования, т.е. вычисления D(M', Kзакр) также не должны представлять вычислительных трудностей.

3. Для противника должно быть невозможно (с точки зрения вычислительных возможностей) вычисление закрытого ключа Kзакр по имеющемуся открытому ключу Kоткр.

4. Для противника должно быть невозможно (с точки зрения вычислительных воз-можностей) вычисление открытого текста M по имеющемуся зашифрованному тексту M' и открытому ключу Kоткр.

Кроме этого желательно, чтобы операции шифрования и дешифрования выполня-лись в любом поряке, т.е. можно было бы зашифровать текст закрытым ключом, а рас-шифровать открытым. Преимущества этой возможности будут рассмотрены позже.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]