Основы криптографических систем. Алгоритм создания открытого и секретного ключей. Схема передачи шифрованной информации и алгоритм для цифровой подписи. Преимущества и недостатки системы RSA. Основные формулы для создания RSA-ключей шифрования.
При низкой оригинальности работы "Программная реализация библиотеки классов системы RSA и ее применение на практике", Вы можете повысить уникальность этой работы до 80-100%
Опубликованная в ноябре 1976 года статья Уитфилда Диффи и Мартина Хеллмана «Новые направления в криптографии» перевернула представление о криптографических системах, заложив основы криптографии с открытым ключом. Разработанный впоследствии алгоритм Диффи-Хеллмана-Меркле позволял двум сторонам получить общий секретный ключ, используя незащищенный канал связи.Криптографические системы с открытым ключом используют так называемые однонаправленные функции, которые обладают следующим свойством: Если известно x, то вычислить f(x) относительно просто. Под однонаправленностью понимается не теоретическая однонаправленость, а практическая невозможность вычислить обратное значение, используя современные вычислительные средства, за обозримый интервал времени. В основу криптографической системы с открытым ключом RSA положена задача умножения и разложения составных чисел на простые сомножители, которая является вычислительно однонаправленной задачей. В криптографической системе с открытым ключом каждый участник располагает как открытым ключом (англ. public key), так и секретным ключом (англ. secret key).RSA-ключи генерируются следующим образом: 1) Выбираются два случайных простых числа p и q заданного размера (например, 1024 бита каждое). 3) Вычисляется значение функции Эйлера от числа n: 4) Выбирается целое число e, такое чтобы взаимно простое со значением функции . Обычно в качестве e берут простые числа, содержащие небольшое количество единичных битов в двоичной записи, например, простые числа Ферма 17, 257, или 65537. Число e называется открытой компонентой.Для защищенности информации, p и q не должны быть близкими числами, иначе их можно найти, используя метод факторизации Ферма. (Метод факторизации Ферма натурального числа n состоит в поиске таких целых чисел x и y, что x2 - y2 = n, что ведет к разложению .) Но, так как числа выбираются отдельно, вероятность попадания их в небольшой интервал становится крайне мала (см. Этот алгоритм представляет собой схему нахождения ряда чисел, начинающегося с заданных a и b, и последующих, с помощью правила - каждое следующее число, получается как остаток от деления предыдущего на предыдущее: То есть: a = bq0 r1 b = r1q1 r2 r1 = r2q2 r3 rk - 2 = rk - 1qk - 1 rk rn - 1 = rnqnДля передачи информации от пользователя В к пользователю А используется следующий алгоритм: Для передачи некоторого сообщения М, требуется взять открытый ключ (e,n) стороны А.Предположим, стороне А нужно отправить информацию стороне В, с цифровой подписью. Алгоритм: Сторона А создает цифровую подпись с помощью своего секретного ключа Сторона В принимает пару, с помощью открытого ключа стороны А расшифровывает подпись стороны А, по формуле: И проверяет ее истинность или ложность.Генерация ключей выбрать два простых числа вычислить модуль вычислить функцию Эйлера выбрать открытый показатель вычислить секретный показатель опубликовать открытый ключ сохранить секретный ключ Шифрование выбрать текст для зашифровки вычислить шифротекстНа 2009 год система шифрования на основе RSA считается надежной, начиная с размера в 1024 бита.В этом году группе ученых из Швейцарии, Японии, Франции, Нидерландов, Германии и США удалось успешно вычислить данные, зашифрованные при помощи криптографического ключа стандарта RSA длиной 768 бит. По словам исследователей, после их работы в качестве надежной системы шифрования можно рассматривать только RSA-ключи длиной 1024 бита и более. Причем от шифрования ключом длиной в 1024 бит стоит отказаться в ближайшие три-четыре года, до 2013. На первый шаг (выбор пары полиномов степени 6 и 1) было потрачено около полугода вычислений на 80 процессорах, что составило около 3 % времени, потраченного на главный этап алгоритма (просеивание), который выполнялся на сотнях компьютеров в течение почти двух лет.Названа в честь Эйлера, который впервые использовал ее в своих работах по теории чисел. , где ?i - степень рассматриваемого множителя в разложении n - называется функцией Эйлера. Значит можно использовать функцию Эйлера, которая переходит к знакомому нам виду: Результат функции можно найти с помощью кода, указанного в Приложении А.Преимуществами системы RSA являются: 1) Система позволяла проверить не только правильность ключа, но и быть уверенным, что обмен произошел именно с тем человеком, который был нужен пользователю.1) Изза постоянного роста мощностей и изобретательности хакеров, приходится усилять старый метод шифровки усложнением данных для шифрования, что не только делает систему более надежной, но и усложняет и замедляет ее темпы производительности в повседневном использовании.1) Как было сказано выше, на случайные простые числа и накладываются следующие дополнительные ограничения: p и q не должны быть слишком близки друг к другу, иначе можно будет их найти, используя метод факторизации Ферма. Необходимо выбирать «сильные» простые числа, чтобы нельзя было воспользоваться p-1 методом Полларда (алгоритм разложения натурального числа N на простые множители. «Сильными» простыми числами
План
Содержание
1. Введение
2. Основы криптографических систем
3. Алгоритм создания открытого и секретного ключей
3.1 Алгоритм
3.2 Алгоритм подробнее, теоретическая часть
4. Схема передачи шифрованной информации
4.1 Алгоритм для информации
4.2 Алгоритм для цифровой подписи
5. Пример действия системы
6. Использование RSA в наше время
6.1 Надежность RSA
6.2 Попытки взлома RSA
7. Функция Эйлера
8. Оценка системы RSA
8.1 Преимущества системы RSA
8.2 Недостатки использования RSA
8.3. Уязвимости RSA.
9. Программная часть
9.1 Библиотека RSA
9.1.1 Класс Program.cs
9.1.2 Класс MAINFORM.cs
9.2 EVKLIDLIB
9.2.1 EVKLIDLIB.cs
9.3 ENCODEDECODE
9.3.1 Encoder.cs
9.3.2 ENCODERBASE.cs
9.3.3 IENCODER.cs
9.3.4 Key.cs
10. Пример работы программы
11. Вывод
Приложение А Приложение Б
Приложение В
Приложение Г
Замечания по выполнению курсовой работы
Введение
Опубликованная в ноябре 1976 года статья Уитфилда Диффи и Мартина Хеллмана «Новые направления в криптографии» перевернула представление о криптографических системах, заложив основы криптографии с открытым ключом. Разработанный впоследствии алгоритм Диффи-Хеллмана-Меркле позволял двум сторонам получить общий секретный ключ, используя незащищенный канал связи. Однако этот алгоритм не решал проблему аутентификации (подтверждение подлинности ключа). Без дополнительных средств, один из пользователей не мог быть уверен, что он обменялся ключами именно с тем пользователем, который ему был нужен.
Изучив эту статью, трое ученых Рональд Райвест (Ronald Linn Rivest), Ади Шамир (Adi Shamir) и Леонард Адлеман (Leonard Adleman) из Массачусетского Технологического Института (MIT) приступили к поискам математической функции, которая бы позволяла реализовать сформулированную Уитфилдом Диффи и Мартином Хеллманом модель криптографической системы с открытым ключом. После работы над более чем 40 возможными вариантами, им удалось найти алгоритм, основанный на различии в том, насколько легко находить большие простые числа и насколько сложно раскладывать на множители произведение двух больших простых чисел, получивший впоследствии название RSA. Система была названа по первым буквам фамилий ее создателей.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы