Асимметричная криптография. Проблемы и идеи. Проблемы, связанные с использованием симметричных шифров Симметричные алгоритмы обеспечивают эффективное.

Презентация:



Advertisements
Похожие презентации
АЛГОРИТМ RSA Шифрование с открытым ключом. Содержание Симметричный шифр Ассиметричный шифр Виды ассиметричных шифров Алгоритм RSA Алгоритм RSA Теоретические.
Advertisements

1 [ИНФОРМАЦИОННАЯ БЕЗОПАСТНОСТЬ] [Институт ИИБС, Кафедра ИСКТ] [Шумейко Е.В.] Криптография с открытым ключом.
Криптография: алгоритм RSA
Базовые технологии безопасности. Шифрование - это средства создания защищенного канала или способ безопасного хранения данных. Пара процедур - шифрование.
Криптосистемы с открытым ключем
Центр Удостоверения Цифровой Подписи. Виды криптосистем: Симметричные криптосистемы Криптосистемы с открытым ключом Системы электронной подписи Управление.
Модуль 2. Математичні основи криптографії 1. Лекция 6 Криптография с использованием эллиптических кривых 1. Основные понятия 2. Способы использования.
Алгоритмы шифрования Развитие и перспективы 15 июня 2008 г. 4 курс Технологии программирования.
Криптография с открытым ключом. История систем с открытым ключом Идея криптографии с открытым ключом впервые появилась в 1976 г. в революционной работе.
Применение теории кодирования в криптографии Лось Антон Васильевич.
RSA RSA RSA (буквенная аббревиатура от фамилий Rivest, Shamir и Adleman) криптографический алгоритм с открытым ключом, основывающийся на вычислительной.
В верхнем левом уrлу этой диаrраммы мы берем исходное сообщение и создаем 160-битовый хеш (дайджест сообщения) при помощи алrоритма SНAl. Затем дайджест.
ХАРАКТЕР И ИСТОРИЯ КРИПТОГРАФИЧЕСКОЙ ДЕЯТЕЛЬНОСТИ. КОМПОЗИЦИИ, МОДЕЛИ И СИНТЕЗ ШИФРОВ. Борисов В.А. КАСК – филиал ФГБОУ ВПО РАНХ и ГС Красноармейск 2011.
1 Криптографические методы защиты информации Казарян Анаит Рафиковна, учитель информатики школы 72 г. Санкт-Петербурга.
Шифрование с открытым ключом: Криптосистема RSA Докладчик: Евгений Сеппель (344 гр. 5/6 у.г.) Математико-механический факультет СПбГУ.
СИСТЕМЫ ШИФРОВАНИЯ С ОТКРЫТЫМ КЛЮЧОМ Ассиметричные криптосистемы.
Тема реферата : « Криптографическая защита информации »
Введение в криптографию 2 Семейство алгоритмов над конечными полями (RSA)
Введение в криптографию 2 Семейство алгоритмов над конечными полями (RSA)
Основные понятия криптологии
Транксрипт:

Асимметричная криптография. Проблемы и идеи

Проблемы, связанные с использованием симметричных шифров Симметричные алгоритмы обеспечивают эффективное решение многих задач. Однако в определенных ситуациях симметричные алгоритмы наталкиваются на свои внутренние ограничения. Мы рассмотрим эти проблемы и узнаем, как они решаются при помощи асимметричных алгоритмов.

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

Проблема доверия Даже если секретные ключи распределены заранее, возникает еще одна проблема. Суть ее состоит в том, что невозможно различить двух корреспондентов, обладающих одинаковыми ключами. При отсутствии доверия между сторонами схема бесполезна. Также может возникнуть проблема, если корреспондент «поделится» с кем-то ключом, не ставя вас в известность. К счастью, асимметричная криптография решает эти проблемы.

Идеи асимметричной криптографии Идея состоит в замене секретного ключа парой математически связанных ключей, один из которых будет открытым, а второй – закрытым, доступным только тому, кто сгенерировал пару. Преимущества: Нет необходимости в заблаговременном распределении ключей Тайну ключа обеспечивает только одна сторона Не встает проблема доверия к другой стороне

Использование асимметричной криптографии Боб генерирует пару ключей. Он предоставляет открытый ключ всем желающим, включая Алису. Когда Алисе потребуется отправить Бобу секретную информацию, она зашифрует данные его открытым ключом. Боб расшифрует его закрытым ключом.

Односторонняя функция с «черным ходом» В основе алгоритмов, основанных на такой идее, лежит односторонняя функция – математическая функция, которая обладает сильной асимметрией с вычислительной точки зрения. Односторонняя функция, обратная функция которой вычисляется легко при наличии дополнительной информации, называется «односторонней функцией с черным ходом».

Преимущества асимметричного подхода: Секретный ключ хранится только у одной стороны => он никогда не передается по сети => асимметричная пара ключей может использоваться долгие годы Асимметричную схему можно использовать для электронной подписи Общее число потребных ключей в сети гораздо меньше, чем в случае симметричной схемы Преимущества симметричного подхода: Криптостойкость Скорость работы

Известные асимметричные алгоритмы RSA (назван в честь изобретателей – Rivest, Shamir, Adelman). Основывается на задаче разложения большого числа на простые сомножители. Можно использовать для шифрования и реализации электронной подписи. DSA (Digital Signature Algorithm) – может применяться только для реализации электронной подписи.

ElGamal (изобретатель – Taher El- Gamal). Основывается на задаче вычисления дискретного логарифма над конечным полем. ECC (Elliptic Curve Cryptography) – альтернативная алгебраическая система, предназначенная для реализации алгоритмов, основанная на особенных математических объектах, называемых эллиптическими кривыми над конечными полями. Эти 2 алгоритма в настоящее время не поддержаны в.NET.

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

Последовательность шагов, необходимая для создания пары ключей RSA: 1. Выберем случайно два простых больших не равных друг другу числа p и q 2. Вычислим их произведение: n=p*q 3. Вычислим функцию Эйлера: φ=(p-1)*(q-1) 4. Уничтожаем числа р и q 5. Выбираем число е: е>1, e

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

Наконец, расшифровать сообщение мы можем при помощи следующих действий: 1. Вычисляем открытый текст при помощи шифрованного текста, а также секретного ключа, по формуле: m = c^d(mod n) 2. Сравниваем полученное m с исходным и убеджаемся, что они равны.

Пример Пусть мы выбрали два простых числа p = 47, q = 73. Находим для них значения: n = 3431, φ = Выберем е = 425. Вычислим d = Полученное d сохраняем в секрете, а числа e и n делаем общедоступными. Теперь мы можем заниматься шифрованием и дешифрованием данных. Предположим, открытый текст = 707. Тогда шифрованный текст (по формуле) = 2142, при дешифровке мы опять получим 707.

int m = 707; //открытый текст int e = 425; //показатель шифрования int n = 3431; //модуль int c = 1; //шифрованный текст //шифрование: c = m^e(mod n) for(int i=0; i