Автор: Пользователь скрыл имя, 20 Октября 2011 в 11:21, автореферат
Аутентификация источника заключается в подтверждении подлинности источника отдельных сообщений. Следует отметить, что данный вид аутентификации не обеспечивает защиты от несанкционированного воспроизведения сообщений предыдущего сеанса.
Другое
уникальное свойство двухключевых криптосистем
заключается в возможности
Цифровая подпись обеспечивает также аутентификацию и контроль целостности передаваемой информации. Процедура вычисления и проверки подписи отличается порядком применения ключей.
Предъявив аутентичный открытый ключ отправителя, всегда можно доказать, что принятое сообщение было зашифровано на парном секретном ключе, то есть принадлежит отправителю. Получатель знает только открытый ключ, которым пользуется для проверки подписи, и поэтому не может подписать сообщение от лица отправителя.
Ассиметричные криптосистемы могут быть атакованы теми же способами, что и симметричные. Однако следует иметь в виду, что в ассиметричной криптосистеме криптоаналитик знает открытый ключ по определению и, следовательно, атака на открытом тексте всегда возможна. Существует специфическая атака на основе проверки шифротекста, когда криптоаналитик, зная открытый ключ, может заранее зашифровать достаточное количество открытых текстов (при условии, что их не очень много) и затем сравнивая полученные шифротексты с перехваченными, раскрыть передаваемый открытый текст.
Гольдвассер, Микали и Ривест предложили классификацию атак для схем цифровой подписи. Приведем эти атаки в порядке возрастания эффективности.
Атака на основе известного открытого ключа. Криптоаналитик знает только открытый ключ для проверки цифровой подписи. Атака всегда возможна.
Атака на основе известного сообщения. Криптоаналитик знает открытый ключ и может получить некоторое количество подписанных сообщений. Однако на выбор этих сообщений он повлиять не может.
Атака на основе выборочного сообщения. Криптоаналитик может выбрать необходимое количество сообщений и получить их подписи. Предполагается, что выбор сообщений выполняется до того, как открытый ключ будет опубликован.
Направленная атака на основе выборочного сообщения. Атака аналогична предыдущей с той разницей, что сообщения выбираются, когда открытый ключ уже известен.
Адаптивная
атака на основе выборочного
сообщения. Атака аналогична предыдущей,
но криптоаналитик выбирает сообщения
последовательно, исходя из вычисленных
подписей для ранее выбранных сообщений.
Симметричные криптосистемы и блочные шифры.
Криптографическое
преобразование составляет основу любого
блочного шифра. Прямое криптографическое
преобразование (шифрование) переводит
блок открытого текста в блок шифротекста
той же длины. Обратное криптографическое
преобразование (дешифрование) переводит
блок шифротекста в исходный блок открытого
текста. Необходимое условие выполнения
как прямого, так и обратного криптографического
преобразования – наличие секретного
ключа. Шифры, в которых прямое и обратное
преобразование выполняются над блоками
фиксированной длины, называются блочными.
Для многих блочных шифров разрядность
блока составляет 64 бита. Прямое криптографическое
преобразование обладает следующим свойством:
различные блоки открытого текста отображаются
в различные блоки шифротекста. При обратном
преобразовании соответствие сохраняется.
Прямое преобразование можно рассматривать
как перестановку на множестве сообщений
с фиксированным размером блока. Результат
перестановки носит секретный характер,
что обеспечивается секретным компонентом
– ключом.
Конструкция Фейстеля.
Конструкция
Фейстеля, или сеть Фейстеля представляет
собой разновидность
Конструкция
Фейстеля применяеться в криптоалгоритмах
DES, ГОСТ 28147-89, Lucifer, FEAL, Khufu, Khare, LOKI, COST, CAST,
Blowfish, и др. Блочный шифр, использующий
такую конструкцию, является обратимым
и гарантирует возможность восстановления
входных данных функции f на каждом
цикле. Сама функция f не обязательно
должна быть обратимой. При задании произвольной
функции f не потребуется реализовывать
две различные процедуры – одну для шифрования,
а другую для дешифрования. Структура
сети Фейстеля автоматически позаботиться
об этом.
Федеральный стандарт США – DES.
Стандарт шифрования данных DES (Data Encrypting Standard), который ANSI называет Алгоритмом шифрования данных DEA (Data Encrypting Algorithm), а ISO – DEA-1, за 20 лет стал мировым стандартом . За годы своего существования он выдержал натиск различных атак и при известных ограничениях все еще считается криптостойким.
DES представляет собой блочный шифр, шифрующий данный 64-битовыми блоками. С одного конца алгоритма вводиться 64-битовый блок открытого текста, а с другого конца выходит 64-битный блок шифротекста.
DES является симметричным алгоритмом: для шифрования и дешифрования используется одинаковые алгоритм и ключ (за исключением небольших различий в использовании ключа). Длина ключа равна 56 битам. (Ключ обычно представляется 64-битным числом, но каждый восьмой бит используеться для проверки четности и игнорируется.) Ключ, который может быть любым 56-битовым числом, можно изменить в любой момент времени. Криптостойкость полностью определяется ключом. Фундаментальным строительным блоком DES является комбинация подстановок и перестановок. DES состоит из 16 циклов (рис. 5).
В общем цикл преобразования представлен на рис. 6. Если Li и Ri – левая и правая половины, полученные в результате i-й итерации, Ki – 48-битный ключ для цикла i, а f – функция, выполняющая все подстановки, перестановки и XOR с ключом, то один цикл преобразования можно представить как (Li, Ri) = (Ri-1, Li-1 (XOR) f(Ri-1, Ki)).
DES
является шифром Фейстеля и
сконструирован так, чтобы
То есть если при шифровании использовались ключи K1, K2, …,K16, то ключами дешифрования будут K16, K15, …, K1. Алгоритм использует только стандартную арифметику 64-битовых чисел и логические операции, поэтому легко реализуется на аппаратном уровне.
DES
работает с 64-битовыми блоками открытого
текста. После первоначальной перестановки
блок разбивается на правую и левую половины
длиной по 32 бита. Затем выполняются 16
преобразований (функция f), в которых
данные объединяются с ключом. После шестнадцатого
цикла правая и левая половины объединяються,
и алгоритм завершается заключительной
перестановкой (обратной по отношению
к первоначальной). На каждом цикле (рис.
6) биты ключа сдвигаются, и затем из 56 битов
ключа выбираются 48 битов. Правая половина
данных увеличивается до 48 битов с помощью
перестановки с расширением, объединяется
посредством XOR с 48 битами смещенного и
перестановленного ключа, проходит через
S-блоков, образуя 32 новых бита, и переставляются
снова. Эти четыре операции и выполняются
функцией f.
Затем
результат функции f объединяется
с левой половиной с помощью другого XOR.
В итоге этих действий появляется новая
правая половина, а старая становится
новой левой половиной. Эти действия повторяются
16 раз, образуя 16 циклов DES.
Стандарт России – ГОСТ 28147-89
ГОСТ 28147-89 – это блочный шифр с 256-битным ключом и 32 циклами преобразования, оперирующий 64-битными блоками. В криптоалгоритме также используется дополнительный ключ, который рассматривается ниже. Для шифрования открытый текст сначала разбиваеться на левую и правую половины L и R. На i-м цикле используеться подключ Ki:
Li=Ri-1,
Ri=Li-1 XOR (f(Ri-1, Ki)).
Один
цикл криптографического преобразования
показан на рис. 7.
Р
Функция
f реализована следующим образом. Сначала
правая половина и i-й складываются по
модулю 232. Результат разбивается
на восемь 4-битовых подпоследовательностей,
каждая из которых поступает на вход своего
S-блока. ГОСТ использует восемь различных
S-блоков, первые 4 бита попадают в первый
S-блок, вторые 4 бита – во второй S-блок
и т.д. Каждый S-юлок представляет собой
перестановку чисел от 0 до 15. Например,
S-блок может выглядеть так: 7,10,2,4,15,9,0,3,6,12,5,13,1,
Главные различия меду DES и ГОСТом заключаются в следующем:
Силовая
атака на гост абсолютно бесперспективна.
ГОСТ использует 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.