Обзор современных средств криптографии
Рефераты >> Криптология >> Обзор современных средств криптографии

Главные различия меду DES и ГОСТом заключаются в следующем:

· DES использует сложную процедуру для генерации подключей из ключей. В ГОСТе эта процедура очень проста;

· в DES 56-битный ключ, а в ГОСТе – 256-битный. Если добавить секретные перестановки S-блоков, то полный объем секретной информации ГОСТа составляет примерно 610 бит;

· у S-блоков DES 6-битные входы и 4-битные выходы, а у S-блоков ГОСТа 4-битные входы и выходы. В обоих алгоритмах используется по восемь S-блоков, но размер S-блока ГОСТа равен четверти размера S-блока DES;

· в DES используется нерегулярные перестановки, названные P-блоком, а в ГОСТе используется 11-битный циклический сдвиг влево;

· в DES 16 циклов, а в ГОСТе – 32.

Силовая атака на гост абсолютно бесперспективна. ГОСТ использует 256 битный ключ, а если учитывать секретные S-блоки, то длина ключа будет еще больше. ГОСТ, по-видимому более устойчив к дифференциальному и линейному криптоанализу, чем DES. Хотя случайные S-блоки при некотором выборе не гарантируют высокой криптостойкости по сравнению с фиксированными S-блоками DES, их секретность увеличивает устойчивость ГОСТа к дифференциальному и линейному криптоанализу. К тому же эффективность этих криптоаналитических методов зависит от количества циклов преобразования – чем больше циклов, тем труднее криптоанализ. ГОСТ использует в два раза больше циклов, чем DES, что, возможно, приводит к несостоятельности дифференциального и линейного криптоанализа. ГОСТ не использует существующую в DES перестановку с расширением. Удаление этой перестановки из DES ослабляет его из-за ументшения лавинного эффекта; разумно предположить, что отсутствие такой операции в ГОСТе отрицательно сказывается на его криптостойкости. С точки зрения криптостойкости операция арифметического сложения, используемая в ГОСТе, не хуже, чем операция XOR в DES. Основным различием представляется использование в ГОСТе циклического сдвига вместо перестановки. Перестановка DES увеличивает лавинный эффект. В ГОСТе изменение одного входного бита влияет на один S-блок одного цикла преобразования, который затем влияет на два S-блока следующего цикла, затем на три блока следующего цикла и т.д. Потребуется восемь циклов, прежде чем изменение одного входного бита повлияет на каждый бит результата; в DES для этого нужно только пять циклов. Однако ГОСТ состоит из 32 циклов, а DES только из 16. Разработчики ГОСТа пытались достигнуть равновесия между криптостойкостью и эффективностью. Взяв за основу конструкцию Фейстеля, они разработали криптоалгоритм, который лучше, чем DES, подходит для программной реализации. Для повышения криптостойкости введен сверхдлинный ключ и удвоено число циклов. Однако вопрос, увенчались ли усилия разработчиков созданием более криптостойкого, чем DES, криптоалгоритма, остается открытым.

Так же существуют другие известные блочные шифры, такие как RC2, RC5, IDEA, SAFER, FEAL, Skipjack, Blowfish, REDOC, LOKI, Khufu и др. Но такого распространения как ГОСТ и DES они не получили, из-за этого рассматривать мы их не будем.

Асимметричные криптосистемы.

Криптосистема RSA.

Криптосистема RSA, предложенная в 1977 году Ривестом, Шамиром и Адлеманом, предназначена для шифрования и цифровой подписи. В настоящее время RSA являеться наиболее распространенной криптосистемой – стандартом де-факто для многих кирптографических приложений. Статус де-факто послужил причиной включения криптосистемы RSA в принятые ранее криптографические стандарты. Так, финансовый стандарт США ANSI X9.30 предусматривал использование федерального стандарта цифровой подписи DSS. Выпущенная позднее версия стандарта ANSI X9.31 была дополнена криптосистемой RSA. Последний является так же частью многих официальных стандартов, в частности международных стандартов ISO 9796 и ITU-T X.509, SWIFT, французского финансового стандарта ETABAC 5, австралийского стандарта управления ключами AS2805.6.5.3. Криптосистема RSA широко применяется в составе различных стандартов и протоколов Internet, включая PEM, S/TIME, PEM-MIME, S-HTTP и SSL.

Возможно ли использование RSA в России? С точки зрения правовых норм это исключено – RSA не входит ни в один из действующих на территории России кирптографических стандартов. Отметим, что стандарты двухключевого шифрования и управления ключами в России также пока не приняты. Таким образом, разработчик криптографических приложений поставлен перед выбором: построить схему управления ключами по методу полной матрицы, экспоненциального ключевого обмена Диффи-Хеллмана или воспользоваться методом цифрового конверта (шифрование сеансового ключа при помощи двухключевого криптоалгоритма).

Недостатки существующего не одно десятилетие метода полной матрицы хорошо известны. Протокол Диффи-Хеллмана предполагает двусторонний обмен открытыми ключами и наличие сертификатов у отправителя и получателя сообщений. В случае односторонней аутентификации (сертификат имеется только у одной из сторон) предпочтение отдается последнему методу. В этой ситуации выбор RSA вполне оправдан – метод цифрового конверта на базе криптоалгоритма RSA описан в стандарте PKCS и применяется в протоколе SSL и других стандартах Internet (PEM, PEM-MIME и т.д.).

RSA многие годы противостоит интенсивному криптоанализу. Криптостойкость RSA основана на трудоемкости разложении на множители (факторизации) больших чисел. Открытый и секретный ключи являются функциями двух больших (100 ~ 200 двоичных разрядов иил даже больше) простых чисел. Предполагаеться, что задача восстановления открытого текста по шифротексту и открытому ключу эквивалентна задаче факторизации.

Для генерации парных ключей используеться два больших случайных простых числа, p и q. В целях максимальной криптостойкости p и q выбираються равной длины. Затем вычисляется произведение:

n=pq.

Далее случайным образом выбираеться ключ шифрования e, такой, что e и φ(n)=(p-1)(q-1) являються взаимно простыми числами. Наконец расширенный алгоритм Евклида используеться для вычисления ключа дешифрования d, такого, что

ed=1 mod φ(n).

Другими словами,

d=e-1 mod φ(n).

Заметим, что d и n – так же взаимно простые числа. Числа e и n – открытый ключ, а d – секретный. Два простых числа p и q хранятся в секрете. Для шифрования сообщения m необходимо выполнить его разбивку на блоки, каждый из которых меньше n (для двоичных данных выбирается самая большая степень числа 2, меньшая n). То есть если p и q – 100-разрядные простые числа, то n будет содержать около 200 разрядов. И каждый блок сообщения mi должен иметь такое же число разрядов. (Если нужно зашифровать фиксированное число блоков, их можно дополнить несколькими нулями слева, тобы гарантировать, что блоки всегда будут меньше n.) Зашифрованное сообщение c будет состоять из блоков ci той же самой длины. Шифрование сводиться к вычислению

ci=mie mod n.

При дешифровании для каждого зашифрованного блока ci вычисляеться


Страница: