8 лекция.
Асимметричные криптоалгоритмы. Алгоритм RSA. Криптоанализ атак.
План:
Асимметричные криптоалгоритмы. Алгоритм шифрования RSA
Отечественный стандарт хэширования ГОСТ Р 34.11—94
Криптоанализ. Атаки на поточные шифры
Асимметричные криптоалгоритмы . Алгоритм шифрования RSA
Всего за 30 лет асимметричная криптография превратилась в одно из основных направлений криптологии и используется в ИТ так же часто, как и симметричные криптосистемы.
Криптоалгоритм RSA предложили в 1978 г. три автора: Р. Райвест (Rivest), А. Шамир (Shamir) и А. Адлеман (Adleman). Алгоритм получил свое название по первым буквам фамилий его авторов. Он стал первым алгоритмом с открытым ключом, который может работать как в режиме шифрования данных, так и в режиме электронной цифровой подписи.
Надежность алгоритма RSA основывается на трудности факторизации больших чисел и трудности вычисления дискретных логарифмов в конечном поле.
В алгоритме RSA открытый ключ Кв, секретный ключ кв, сообщение М и криптограмма С принадлежат множеству целых чисел
ZN={0,1,2,…, N-1},
где N —модуль:
N=PQ,
а Р и Q — случайные большие простые числа.
Для обеспечения максимальной безопасности выбирают Р и Q равной длины и хранят в секрете. Множество ZN с операциями сложения и умножения по модулю N образует арифметику по модулю N.
Открытый ключ Кв используют для шифрования данных, а секретный ключ кв — для расшифровывания.
Процедура шифрования определяет криптограмму С через пару (Кв, М) в соответствии со следующей формулой:
С = ЕКв (М) = Мк« (mod N).
В качестве алгоритма быстрого вычисления значения С используют ряд последовательных возведений в квадрат целого М и умножений на М с приведением по модулю N.
Расшифровывание криптограммы С выполняют, используя пару (кв, С).
Криптоалгоритм RSA всесторонне исследован и признан стойким при достаточной длине ключей. В настоящее время длина ключа — 1024 бита — считается приемлемым вариантом. Некоторые авторы утверждают, что с ростом мощности процессоров криптоалгоритм RSA потеряет стойкость к атаке полного перебора. Однако увеличение мощности процессоров позволит применить более длинные ключи, что повышает стойкость RSA.
В асимметричной криптосистеме RSA количество используемых ключей связано с количеством абонентов линейной зависимостью (в системе из N пользователей используются 2N ключей), а не квадратичной, как в симметричных системах.
Следует отметить, что быстродействие RSA существенно ниже быстродействия DES, а программная и аппаратная реализация криптоалгоритма RSA гораздо сложнее, чем DES. Поэтому криптосистема RSA, как правило, используется при передаче небольшого объема сообщений.
Отечественный стандарт хэширования ГОСТ Р 34.11—94
Отечественным стандартом генерирования хэш-функции является алгоритм ГОСТ Р 34.11—94. Этот стандарт является обязательным для применения в качестве алгоритма хэширования в государственных организациях РФ и ряде коммерческих организаций. Коротко данный алгоритм хэширования можно описать следующим образом (рис. 6.10).
Шаг 1. Инициализация регистра хэш-значения. Если длина сообщения не превышает 256 бит — переход к шагу 3, если превышает — переход к шагу 2.
Шаг 2. Итеративное вычисление хэш-значения блоков хэши-руемых данных по 256 бит с использованием хранящегося в регистре хэш-значения предыдущего блока. Вычисление включает в себя следующие действия:
• генерацию ключей шифрования на основе блока хэшируе-мых данных;
• зашифровывание хранящегося в регистре хэш-значения в виде четырех блоков по 64 бита по алгоритму ГОСТ 28147—89 в режиме простой замены;
• перемешивание результата.
Вычисление производится до тех пор, пока длина необработанных входных данных не станет меньше или равной 256 бит. В этом случае — переход к шагу 3.
Шаг 3. Дополнение битовыми нулями необработанной части сообщения до 256 бит. Вычисление хэш-значения аналогично шагу 2. В результате в регистре оказывается искомое хэш-значение.
Достарыңызбен бөлісу: |