Криптографические методы. Методические указания по выполнению лабораторных работ, задания на выполнение лабораторных работ, требования к отчету, а также основные теоретические сведения по каждой работе
Скачать 0.75 Mb.
|
2 Порядок выполнения работы 2.1. При подготовке к лабораторной работе На этапе подготовки к лабораторной работе студенты должны, используя литературу [1,2,3], материалы лекций углубить свои знания по следующим вопросам: классификация криптографических генераторов, методы усложнения алгоритмов генерации псевдослучайных последовательностей, графические и оценочные тесты качества криптографических генераторов. 2.2. Во время проведения занятия 27 Преподаватель перед проведением занятия проводит контрольный опрос студентов и определяет степень их готовности к лабораторной работе. Преподаватель разбивает группу студентов на подгруппы, для каждой подгруппы выдается индивидуальное задание на предстоящую лабораторную работу. Индивидуальное задание представляет собой тип криптографического генератора с исходными данными, который требуется исследовать. В процессе выполнения работы студенты должны: 1. Сформировать, для заданного преподавателем типа криптографического генератора, псевдослучайную последовательность. 2. Оценить качество криптографического генератора с помощью рассмотренных в учебных материалах тестов и построить соответствующие графические зависимости. 3. Сформулировать вывод о возможности использования криптографического генератора в алгоритмах шифрования. 3 Содержание отчета Отчет по лабораторной работе должен включать в себя следующие пункты: 1. Задание на лабораторную работу. 2. Графические зависимости, иллюстрирующие результаты применения графических тестов и таблицу с результатами оценочного тестирования. 3. Выводы о возможности использования заданного криптографического генератора в алгоритмах шифрования. 4 Контрольные вопросы 1. Классификация криптографических генераторов. 2. Методы улучшения псевдослучайных последовательностей. 3. Графические тесты оценки качества криптографических генераторов. 4. Оценочные тесты качества криптографических генераторов. Литература 1. Баричев С.Г, Гончаров В.В., Серов Р.Е. Основы современной криптографии: Учебный курс. – 2-е изд. – М.: Горячая линия – Телеком, 2002. 2. Харин Ю.С., Беник В.И, Матвеев Г.В., Агиевич С.В. Математические и компьютерные основы криптологии: Учеб. пособие. – Минск: Новое знание, 2003. 3. Иванов М.А., Чугунков И.В. Теория, применение и оценка качества генераторов псевдослучайной последовательности. – М.: КУДИЦ-ОБРАЗ, 2003. Лабораторная работа №6 Изучение криптосистем с открытым ключом 28 Цель работы – закрепление теоретических знаний и практическое освоение алгоритмов ассиметричного шифрования. Время - 4 часа. 1 Основные теоретические сведения Алгоритм RSA предложили в 1978 г. три автора: Роналдьд Райвест (Ronald Rivest), Ади Шамир (Adi Shamir) и Леонард Адльман (Leonard Adlman). Алгоритм RSA стал первым полноценным алгоритмом с открытым ключом, который может работать как в режиме шифрования данных, так и в режиме электронной цифровой подписи. Криптостойкость алгоритма основывается на трудности факторизации больших чисел и трудности вычисления дискретных логарифмов. Пусть каждый абонент группы выбирает случайно два больших простых числа p и g , затем вычисляет: pg N , ) 1 )( 1 ( g p , и выбирает число о k , взаимно простое с . Далее, по обобщенному алгоритму Евклида находят число з k , такое, что 1 mod о з k k . Пара N k o , и число з k являются открытым и секретным ключом, соответственно. Абонент А желает передать сообщение x абоненту В, причем B N x (далее индексы А и В, указывают принадлежность параметра, соответствующему абоненту). Алгоритм RSA состоит в последовательном выполнении следующих операций. Абонент А шифрует сообщение в соответствии с выражением: B k N x y B o mod Абонент В, получив криптограмму расшифровывает ее используя выражение: B k N y x В з mod Асимметричный алгоритм Эль Гамаля (El Gamal) использует операцию возведения в степень по модулю простого числа. При этом трудноразрешимой задачей для злоумышленника является отыскание не числа, которое возведено в степень, а то, в какую степень возведено известное число. Эта задача носит название проблемы дискретного логарифма. Для всей группы абонентов выбираются некоторые большие простые числа p и g ( число g является примитивным элементом поля p GF ). Каждый абонент группы генерирует свое секретное число з k , 1 1 p k з , и вычисляет соответствующее ему открытое число o k , p g k з k o mod Числа o k и з k являются открытым и секретным ключом, соответственно. 29 Алгоритм шифрования заключается в следующем. Абонент А генерирует случайное число с , 2 1 р с и вычисляет: p g l c mod , p k x y с B o mod и передает пару y l, абоненту В. Абонент В, получив пару y l, , вычисляет: p l y x B o k p mod 1 2 Порядок выполнения работы 2.1. При подготовке к лабораторной работе На этапе подготовки к лабораторной работе студенты должны, используя литературу [1,2,3], материалы лекций углубить свои знания по следующим вопросам: понятие односторонней функции, генерация ключей в алгоритмах RSA и Эль-Гамаля, процедура шифрования данных в алгоритмах RSA и Эль- Гамаля. 2.2. Во время проведения занятия Преподаватель перед проведением занятия проводит контрольный опрос студентов и определяет степень их готовности к лабораторной работе. Преподаватель разбивает группу студентов на подгруппы, для каждой подгруппы выдается индивидуальное задание на предстоящую лабораторную работу. Индивидуальное задание представляет собой исходные данные для генерации ключей. В процессе выполнения работы студенты должны: 1. Построить блок-схемы алгоритмов шифрования RSA и Эль-Гамаля. 2. Сформировать контрольный пример. 3. Выполнить программную реализацию алгоритмов шифрования RSA и Эль-Гамаля. 4. Используя контрольный пример проверить правильность работы алгоритмов шифрования и расшифрования RSA и Эль-Гамаля. 3 Содержание отчета Отчет по лабораторной работе должен включать в себя следующие пункты: 1. Задание на лабораторную работу. 2. Блок-схемы алгоритмов шифрования RSA и Эль-Гамаля. 3. Контрольный пример. 4. Результаты работы программы с различными исходными текстами и ключами. 4 Контрольные вопросы 1. Понятие односторонней функции и односторонней функции с «секретом». 30 2. Какая трудноразрешимая математическая задача лежит в основе стойкости алгоритма RSA? 3. Какая трудноразрешимая математическая задача лежит в основе стойкости алгоритма Эль-Гамаля? 4. Алгоритмы генерации ключей в криптосистеме RSA и Эль-Гамаля. 5. Алгоритмы шифрования и расшифрования в криптосистеме RSA и Эль-Гамаля. 6. Особенности асимметричных алгоритмов на эллиптических кривых. Литература 1. Баричев С.Г, Гончаров В.В., Серов Р.Е. Основы современной криптографии: Учебный курс. – 2-е изд. – М.: Горячая линия – Телеком, 2002. 2. Харин Ю.С., Беник В.И, Матвеев Г.В., Агиевич С.В. Математические и компьютерные основы криптологии: Учеб. пособие. – Минск: Новое знание, 2003. 3. Рябко Б.Я., Фионов А.Н. Криптографические методы защиты информации. Учебное пособие для вузов. М.: Горячая линия – Телеком, 2005. Лабораторная работа №7 Изучение алгоритмов электронной цифровой подписи Цель работы – закрепление теоретических знаний и практическое освоение алгоритмов электронной цифровой подписи. Время - 4 часа. 1 Основные теоретические сведения Под электронной цифровой подписью понимается реквизит сообщения (электронного документа), предназначенный для его защиты от подделки и полученный в результате криптографического преобразования информации. Рассмотрим самые распространенные алгоритмы ЭЦП на основе криптосистем RSA и Эль-Гамаля. ЭЦП на основе криптосистемы RSA.Вначале необходимо выбрать параметры алгоритма RSA. Для этого абонент А выбирает два больших простых числа p и g , и затем вычисляет N и в соответствии с pg N и ) 1 )( 1 ( g p . Затем абонентом А выбирается число o k , взаимно простое с , и вычисляется число mod 1 o з k k . Абонент А публикует числа o k и N ассоциировав их со своим именем, а число з k хранит в секрете. Числа p , g и в дальнейшем не потребуются. Теперь абонент А готов подписывать сообщение X . Для этого вначале он вычисляет хэш-функцию ) (X h h X Алгоритм вычисления хэш-функции известен всем абонентам, причем злоумышленник практические не может изменить основное сообщение не 31 изменив при этом значение хэш-функции. Поэтому в дальнейшем абоненту А достаточно снабдить подписью не само сообщение X , а только X h . Затем абонент А вычисляет число: N h s з k X mod , которое и является цифровой подписью. Вычисленная цифровая подпись добавляется к сообщению s X , Каждый, кто знает открытые параметры абонента А, ассоциированные с его именем, т.е. числа o k и N , может проверить подлинность его подписи. Для этого необходимо вычислить значение хэш-функции ) (X h h X и затем вычислив число: N s o k mod проверить выполнение равенства X h . Если подпись подлинная, то равенство выполняется, иначе подпись фальшивая или в подписанное сообщение внесено изменение. ЭЦП на основе криптосистемы Эль-Гамаля. Как и в рассмотренном выше алгоритме вначале абонент А должен выбрать требуемые параметры криптосистемы Эль-Гамаля - большие простые числа p и g . Затем абонент А генерирует секретное число з k , 1 1 p k з , и вычисляет соответствующее ему открытое число o k в соответствии с p g k з k o mod . Абонент А публикует свой открытый ключ o k . Теперь абонент А готов подписывать сообщение X . Вначале абонент А вычисляет значение хэш-функции ) (X h h X , которое должно удовлетворять неравенству p h X 1 . Затем абонент А выбирает случайное число с , 1 1 p с , и вычисляет: p g l с mod Далее абонент А вычисляет числа: ) 1 mod( ) ( 1 p l k h s з X , ) 1 mod( 1 1 2 p s с s , где 1 с удовлетворят уравнению 1 ) 1 mod( 1 p с с В заключении абонент А формирует подписанное сообщение 2 , , s l X Получатель сообщения, прежде всего, заново вычисляет значение хэш- функции ) (X h h X . Затем он проверяет подлинность подписи, используя равенство: p g l k X h s l o mod 2 Если подпись верна, то равенство выполняется. 2 Порядок выполнения работы 2.1. При подготовке к лабораторной работе 32 На этапе подготовки к лабораторной работе студенты должны, используя литературу [1,2], материалы лекций углубить свои знания по следующим вопросам: алгоритмы хэш-функций; алгоритмы формирования и проверки подписи. 2.2. Во время проведения занятия Преподаватель перед проведением занятия проводит контрольный опрос студентов и определяет степень их готовности к лабораторной работе. Преподаватель разбивает группу студентов на подгруппы, для каждой подгруппы выдается индивидуальное задание на предстоящую лабораторную работу. Индивидуальное задание представляет собой исходные данные для формирования подписи и подписываемый текст. В процессе выполнения работы студенты должны: 1. Построить блок-схемы алгоритмов ЭЦП на основе алгоритмов RSA и Эль-Гамаля. 2. Сформировать контрольный пример. 3. Выполнить программную реализацию заданной хэш-функции и алгоритма ЭЦП. 4. Используя контрольный пример проверить правильность работы алгоритмов формирования ЭЦП для различных текстов. 3 Содержание отчета Отчет по лабораторной работе должен включать в себя следующие пункты: 1. Задание на лабораторную работу. 2. Блок-схемы алгоритмов ЭЦП на основе алгоритмов RSA и Эль-Гамаля. 3. Контрольный пример. 4. Результаты работы программы с различными исходными текстами. 4 Контрольные вопросы 1. Понятие ЭЦП. Основные требования к ЭЦП. 2. Понятие хэш-функции. 3. Коллизии хэш-функции. 4. Алгоритмы хэширования. 5. Алгоритмы ЭЦП на основе криптосистемы Эль-Гамаля. 6. Алгоритмы ЭЦП на основе криптосистемы RSA. 7. Методы сокращения длины ЭЦП. 33 Приложение А Таблица частот встречаемости букв русского алфавита - 0.175 О 0.090 Е, Ё 0.072 А 0.062 И 0.062 Т 0.053 Н 0.053 С 0.045 Р 0.040 В 0.038 Л 0.035 К 0.028 М 0.026 Д 0.025 П 0.023 У 0.021 Я 0.018 Ы 0.016 З 0.016 Ь, Ъ 0.014 Б 0.014 Г 0.013 Ч 0.012 Й 0.010 Х 0.009 Ж 0.007 Ю 0.006 Ш 0.006 Ц 0.004 Щ 0.003 Э 0.003 Ф 0.002 |