СОДЕРЖАНИЕ
I. ВВЕДЕНИЕ.
1. Криптографическая защита информации.
II.Наиболее известные криптосистемы.
1. Классификация криптосистемы.
2. Практическое применение.
2.1 DES-стандарт США на шифрование данных.
2.2 RSA-система с открытым ключом.
2.3 Системы потокового шифрования.
2.4 ГОСТ 28147-89 - отечественный стандарт шифрования данных.
III.ВЫВОДЫ
1. Сравнение криптографических методов.
I. ВВЕДЕНИЕ. Криптографическая защита информации.
Криптография - наука о защите информации от прочтения ее посторонними. Защита достигается шифрованием, т.е. преобразовани-
ем, которые которые делают защищенные входные данные труднораскрываемыми по входным данным без знания специальной ключевой информации - ключа. Под ключом понимается легко изменяемая часть криптосистемы, хранящаяся в тайне и определяющая, какое шифрующие преобразование из возможных выполняется в данном случае. Криптосистема - семейство выбираемых с помощью ключа обратимых преобразований, которые преобразуют защищаемый открытый текст в шифрограмму и обратно.
Желательно, чтобы методы шифрования обладали минимум двумя свойствами:
- законный получатель сможет выполнить обратное преобразование и расшифровать сообщение;
- криптоаналитик противника, перехвативший сообщение, не сможет восстановить по нему исходное сообщение без таких затрат времени и средств, которые сделают эту работу работу нецелесообразной.
II.Наиболее известные криптосистемы.
1. Классификация криптосистемы.
По характеру использования ключа известные криптосистемы можно разделить на два типа: симметричные (одноключевые, с секретным ключом) и несимметричные (с открытым ключом).
В первом случае в шифраторе отправителя и дешифраторе получателя используется один и тот же ключ. Шифратор образует шифртекст, который является функцией открытого текста, конкретный вид функции шифрования определяется секретным ключом. Дешифратор получателя сообщения выполняет обратное преобразования аналогичным образом. Секретный ключ хранится в тайне и передается отправите-
лем сообщения получателя по каналу, исключающему перехват ключа
криптоаналитиком противника. Обычно предполагается правило Кирхгофа: стойкость шифра определяется только секретностью ключа, т.е. криптоаналитику известны все детали процесса шифрования и дешифрования, кроме секретного ключа.
Открытый текст обычно имеет произвольную длину если его размер велик и он не может быть обработан вычислительным устройством шифратора целиком, то он разбивается на блоки фиксированной длины, и каждый блок шифруется в отдельности, не зависимо от его положения во входной последовательности. Такие криптосистемы называются системами блочного шифрования.
На практике обычно используют два общих принципа шифрования: рассеивание и перемешивание. Рассеивание заключается в распространении влияния одного символа открытого текста на много символов шифртекста: это позволяет скрыть статистические свойства открытого текста. Развитием этого принципа является распространение влияния одного символа ключа на много символов шифрограммы, что позволяет исключить восстановление ключа по частям. Перемешивание состоит в использовании таких шифрующих преобразований, которые исключают восстановление взаимосвязи статистических свойств открытого и шифрованного текста. Распространенный способ достижения хорошего рассеивания состоит в использовании составного шифра, который может быть реализован в виде некоторой последовательности простых шифров, каждый из которых вносит небольшой вклад в значительное суммарное рассеивание и перемешивание. В качестве простых шифров чаще всего используют простые подстановки и перестановки.
Одним из наилучших примеров криптоалгоритма, разработанного в соответствии с принципами рассеивания и перемешивания, может служить принятый в 1977 году Национальным бюро стандартов США стандарт шифрования данных DES. Несмотря на интенсивные и тщательные исследования алгоритма специалистами, пока не найдено уязвимых мест алгоритма, на основе которых можно было бы предложить метод криптоанализа, существенно лучший, чем полный перебор ключей. Общее мнение таково: DES - исключительно хороший шифр. В июле 1991 года введен в действие подобный отечественный криптоал-
горитм ГОСТ 28147-89.
В то же время блочные шифры обладают существенным недостатком - они размножают ошибки, возникающие в процессе передачи сообщения по каналу связи. Одиночная ошибка в шифртексте вызывает искажение примерно половины открытого текста при дешифровании. Это требует применения мощных кодов, исправляющих ошибки.
В блочном шифре из двух одинаковых блоков открытого текста получаются одинаковые блоки шифрованного текста. Избежать этого позволяют потоковые шифры, которые, в отличие от блочных, осуществляют поэлементное шифрование потока данных без задержки в криптосистемы. В общем случае каждый символ открытого текста шифруется, передается и дешифруется независимо от других символов. Иначе, шифруюшее преобразование элемента открытого текста меняется от одного элемента к другому, в то время как для блочных шифров шифрующее преобразование каждого блока остается неизменным. Иногда символ открытого текста может шифроваться с учетом ограниченного числа предшествующих ему символов.
Потоковые шифры основываются на псевдослучайных ключевых последовательностях - сгенерированных определенным образом последовательностях символов с заданными свойствами непредсказуемости (случайности) появления очередного символа. Генераторы ключевых последовательностей обычно базируются на комбинациях регистров сдвига и нелинейных булевых функциях. В качестве нелинейной булевой функции может использоваться криптоалгоритм DES, что соответствует применению DES в режиме обратной связи по выходу (OFB) лил обратной связи по шифртексту (CFB). Наибольший интерес представляет режим CFB , поскольку в ряде случаев режим OFB не обеспечивает требуемой секретности.
Системы потокового шифрования близки к криптосистемам с одноразовым ключом, в которых размер ключа равен размеру шифруемого текста. При криптоанализе на основе известного открытого текста стойкость системы определяется нелинейными булевыми функциями, что позволяет оценить криптостойкость системы на основе анализа вида используемых функций. Следовательно, потоковые шифры в отличие от других криптосистем обладают значительно большой анализи-
руемой секретностью. Кроме того, в системах потокового шифрования
не происходит размножения ошибок или оно ограничено. По этим причинам, а также ввиду высокой скорости обработки системы потокового шифрования вызывают большое доверие многих потребителей и специалистов.
В криптосистемах с открытым ключом в алгоритмах шифрования и дешифрования используются разные ключи, каждый из которых не может быть получен из другого (с приемлемыми затратами). Один ключ используется для шифрования, другой - для дешифрования. Основной принцип систем с открытым ключом основывается на применении односторонних или необратимых функций и односторонних функций с лазейкой (потайным ходом).
Вычисление ключей осуществляется получателем сообщений, который оставляет у себя тот ключ, который он будет потом использовать (то есть секретный ключ). Другой ключ он высылает отправителю сообщений - открытый ключ - не опасаясь его огласки.
Пользуясь этим открытым ключом, любой абонент может зашифровать текст и послать его получателю, который сгенерировал данный открытый ключ. Все используемые алгоритмы общедоступны. Важно то, что функции шифрования и дешифрования обратимы лишь тогда, когда они обеспечиваются строго взаимосвязанной парой ключей (открытого и секретного), а открытый ключ должен представлять собой необратимую функцию от секретного ключа. Подобным образом шифртекст должен представлять собой необратимую функцию открытого текста, что в корне отличается от шифрования в системах с секретным ключом.
Исследование необратимых функций проводилось в основном по следующим направлениям: дискретное возведение в степень - алгоритм DH (Диффи-Хелман), умножение простых чисел - алгоритм RSA
(Райвест, Шамир, Адлеман), использование исправляющих ошибки кодов Гоппы, задачи NP-полноты, в частности криптоалгоритм Меркля и Хелмана на основе "задачи об укладке ранца", раскрытый Шамиром, и ряд других, оказавшихся легкораскрываемыми и бесперспективными.
Первая система (DH) обеспечивает открытое распространение ключей, то есть позволяет отказаться от передачи секретных клю-
чей, и по сегодняшний день считается одной из самых стойких и
удобных систем с открытым ключом. Надежность второго метода (RSA)
находится в прямой зависимости от сложности разложения больших
чисел на множители. Если множители имеют длину порядка 100 десятичных цифр, то в наилучшем из известных способов разложения на множители необходимо порядка 100 млн. лет машинного времени, шифрование же и дешифрование требует порядка 1-2 с на блок. Задачи NP-полноты хорошо известны в комбинаторике и считаются в общем случае чрезвычайно сложными; однако построить соответствующий шифр оказывается весьм