Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 3 2013.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
335.02 Кб
Скачать

Лекция 3.

Криптоалгоритмы. Протоколы. Криптосистемы.

Криптоалгоритм (primitive)– математический аппарат, использующийся для решения конкретной криптографической задачи.

Протокол – порядок действий с использованием криптоалгоритма для решения криптографической задачи.

Криптосистема - это завершенная комплексная модель, предназначенная для решения криптографической задачи в реальной среде.

Криптосистема выполняет три основные функции:

- усиление защищенности данных;

- облегчение работы с криптоалгоритмом со стороны человека;

- обеспечение совместимости потока данных с другим программным обеспечением.

Классификация криптоалгоритмов

Системы с секретным ключом - построены на основе сохранения в тайне ключа шифрования для всех кроме лиц ,допущенных к информации. Эти системы называют также симметричными криптосистемами, т.к. ключи шифрования и расшифрования обладают определенной симметрией, часто они просто совпадают. Защита информации обеспечивается секретностью ключа.

Примеры: Американский и Российский стандарты шифрования DES и ГОСТ28.147-89

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

Примеры - системы о.ш. RSA, система о.ш. Рабина и т.д.

Управление ключами в симметричной и асимметричной системах.

Сравнение симметричных систем и асимметричных систем.

Достоинства симметричных систем.

  • скорость (по данным Applied Cryptography — на 3 порядка выше)

  • простота реализации (за счёт более простых операций)

  • меньшая требуемая длина ключа для сопоставимой стойкости

  • изученность (за счёт большего возраста)

Недостатки симметричных систем.

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

  • сложность обмена ключами. Для применения необходимо решить проблему надёжной передачи ключей каждому абоненту, так как нужен секретный канал для передачи каждого ключа обеим сторонам.

  • Невозможность их использования для подтверждения авторства, так как ключ известен каждой стороне.

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

Преимущества асимметричных систем – удобные протоколы.

Недостатки-

  • Ключ большего размера, меньшая криптографическая стойкость.

  • Медленно работают. Скорость шифрования в 1000 раз меньше.

  • Алгоритмы шифрования с открытым ключом уязвимы по отношению к криптоаналитическим атакам со знанием открытого текста. Пусть С=Е(Р), где С обозначает шифртекст, Р — открытый текст, Е — функцию шифрования. Тогда, если Р принимает значения из некоторого конечного множества, состоящего из n открытых текстов, криптоаналитику достаточно зашифровать все эти тексты, используя известный ему открытый ключ, и сравнить результаты с С. Ключ таким способом ему вскрыть не удастся, однако открытый текст будет успешно определен. Чем меньше количество ( n ) возможных открытых текстов, тем эффективнее будет атака на криптосистему с открытым ключом. Например, если криптоаналитику известно, что шифрованию подверглась сумма сделки, не превышающая 1 млн долл., он может перебрать все числа от 1 до 1 000 000.

Гибридная криптосистема

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

Классификация современных симметричных алгоритмов.

Сравнение поточных и блочных шифров.

  • важнейшим достоинством поточных шифров перед блочными является высокая скорость шифрования, соизмеримая со скоростью поступления входной информации; поэтому, обеспечивается шифрование практически в реальном масштабе времени вне зависимости от объема и разрядности потока преобразуемых данных.

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

  • Блочные шифрыкак правило более стойкие.

  • Исследованием и разработкой поточных шифров в основном занимаются европейские криптографические центры, блочных – американские.

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

Тема. Симметричные блочные шифры.

Блочный шифр —  шифр, оперирующий группами бит фиксированной длины — блоками, характерный размер которых меняется в пределах 64 — 256 бит. Блочный шифр представляет собой подстановку на алфавите блоков. 

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

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

Клод Шеннон

Лавинный эффект — свойство криптографического алгоритма, которое означает, что изменение значения малого количества битов во входном тексте или в ключе ведет к существенному изменению значений выходных битов шифротекста.

В хорошем алгоритме изменение любого бита входного текста или ключа ведет к изменению примерно половины бит выходного текста.

Строгий лавинный эффект означает равновероятностное изменение /неизменение каждого выходного бита.

В алгоритмах с несколькими итерациями лавинный эффект обычно достигается благодаря тому, что на каждой итерации изменение одного входного бита ведёт к изменениям нескольких выходных. Если криптографический алгоритм не обладает лавинным эффектом в достаточной степени, криптоаналитик может сделать предположение о входной информации, основываясь на выходной информации. Таким образом, достижение лавинного эффекта является важной целью при разработке криптографического алгоритма.

Лавинный эффект достигается при наличии у алгоритма свойств диффузии и конфузии.

Диффузия означает, что изменение 1 символа открытого текста влечет изменение нескольких символов шифротекста, и наоборот.

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

Современная модель симметричных блочных шифров основана на идее итеративных блочных шифров, предложенной в публикации 1949 года Клода Шеннона «Теория связи в секретных системах». Данная концепция позволяет достичь определенного уровня безопасности комбинированием простых в исполнении операций подстановки и перестановки. 

Историческая справка.

Первопроходцем явился шифр «Люцифер», разработанный в 1970 году компанией IBM. Идея шифра заключалась в использовании комбинаций простых, а следовательно, быстро вычисляемых как аппаратно, так и программно операций. Однако, схема получилась неудачной: она была слишком громоздкой, что привело к низкой скорости шифрования в программной реализации (около 8 кбайт/с) и в аппаратной (97 кбайт/с). Стали появляться опасения, связанные со стойкостью данного алгоритма. Тем не менее, принципы, выработанные при построении «Люцифера», (SP-сеть и сеть Фейстеля) легли в основу конструирования симметричных блочных шифров.

В 1973 году Национальный институт стандартов и технологий (англ. NIST) объявил конкурс с целью разработать стандарт шифрования данных, победителем которого в 1974 году стал шифр DES (Data Encryption Standart), являющийся, фактически, улучшенной версией «Люцифер». Публикация шифра в 1977 году была основополагающей в общественном понимании современной модели блочного шифра. После одобрения Американским национальным институтом стандартов в 1981 году, алгоритм долгое время использовался в гражданском секторе и даже вышел за пределы США. Однако шифр имел существенный недостаток — маленькую длину ключа, породившую множество связанных с параллельным перебором атак, и приближающаяся возможность её реализации.

Примеры:

Название алгоритма

Автор

Размер блока

Длина ключа

IDEA

Xuejia Lia and James Massey

64 бита

128 бит

CAST128

 

64 бита

128 бит

BlowFish

Bruce Schneier

64 бита

128 – 448 бит

ГОСТ

НИИ ***

64 бита

256 бит

TwoFish

Bruce Schneier

128 бит

128 – 256 бит

MARS

Корпорация IBM

128 бит

128 – 1048 бит

Определение.

Блочный шифр состоит из двух парных алгоритмов: шифрования и расшифрования. Оба алгоритма можно представить в виде функций. Функция шифрования E (англ. encryption — шифрование) на вход получает блок данных M (англ. message — сообщение) размером n бит и ключ K (англ. key — ключ) размером k бит и на выходе отдает блок шифротекста C (англ. cipher — шифр) размером n бит:

Для любого ключа KEK является биективной функцией (перестановкой) на множестве n-битных блоков. Функция расшифрования D (англ. decryption — расшифрование) на вход получает шифр C, ключ K и на выходе отдает M:

являясь, при этом, обратной к функции шифрования:

 и

Заметим, что ключ, необходимый для шифрования и дешифрования, один и тот же — следствие симметричности блочного шифра.

На функцию стойкого блочного шифра E накладываются следующие условия:

  1. Функция E должна быть обратимой для каждого k.

  2. Не должно существовать иных методов прочтения сообщения M по известному блоку C, кроме как полным перебором ключей.

  3. Не должно существовать иных методов определения каким ключом было произведено преобразование известного сообщения M в сообщение C, кроме как полным перебором ключей.