Автор работы: Пользователь скрыл имя, 14 Мая 2013 в 15:23, реферат
Одним из обширных классов криптографических систем являются так называемые асимметричные или двухключевые системы с открытым ключом. Эти системы характеризуются тем, что для шифрования и дешифрования используются разные ключи. Криптография с открытым ключом возникла в связи с необходимостью слудующих двух проблем:
Заметим, что подписанное сообщение не зашифровано. Оно пересылается в исходном виде и его содержимое не защищено от нарушения конфиденциальности. Путём совместного применения представленных выше схем шифрования и цифровой подписи в системе RSA можно создавать сообщения, которые будут и зашифрованы, и содержать цифровую подпись. Для этого автор сначала должен добавить к сообщению свою цифровую подпись, а затем — зашифровать получившуюся в результате пару (состоящую из самого сообщения и подписи к нему) с помощью открытого ключа принадлежащего получателю. Получатель расшифровывает полученное сообщение с помощью своего секретного ключа. Если проводить аналогию с пересылкой обычных бумажных документов, то этот процесс похож на то, как если бы автор документа поставил под ним свою печать, а затем положил его в бумажный конверт и запечатал, с тем чтобы конверт был распечатан только тем человеком, кому адресовано сообщение.
Поскольку генерация ключей происходит значительно реже операций, реализующих шифрование, расшифрование, а также создание и проверку цифровой подписи, задача вычисления представляет основную вычислительную сложность. Эта задача может быть разрешена с помощью алгоритма быстрого возведения в степень. С использованием этого алгоритма для вычисления требуется операций умножения по модулю.
Чтобы проанализировать время выполнения операций с открытым и закрытым ключами, предположим, что открытый ключ и закрытый ключ удовлетворяют соотношениям , . Тогда в процессах их применения выполняется соответственно и умножений по модулю.
Таким образом время
выполнения операций растёт с увеличением
количества ненулевых битов в двоичном
представлении открытой экспоненты e. Чтобы увеличить скорость шифрования,
значение e часто выбирают равным 17, 257 или 65537 — простым
числам, двоичное представление которых
содержит лишь две единицы: 1710=100012,
25710=1000000012, 6553710=100000000000000012 (
По эвристическим оценкам длина секретной экспоненты , нетривиальным образом зависящей от открытой экспоненты и модуля , с большой вероятностью близка к длине . Поэтому расшифрование данных идёт медленнее чем шифрование, а проверка подписи быстрее чем её создание.
Алгоритм RSA намного медленнее чем AES и другие алгоритмы блочного шифрования.
Стойкость алгоритма основывается на сложности вычисления обратной функции к функции шифрования
.
Для вычисления по известным нужно найти такой , чтобы
то есть
Вычисление обратного элемента по модулю не является сложной задачей, однако злоумышленнику неизвестно значение . Для вычисления функции Эйлера от известного числа необходимо знать разложение этого числа на простые множители. Нахождение таких множителей и является сложной задачей, а знание этих множителей — «потайной дверцей» (англ. backdoor), которая используется для вычисления владельцем ключа. Существует множество алгоритмов для нахождения простых сомножителей, так называемой факторизации, самый быстрый из которых на сегодняшний день — общий метод решета числового поля, скорость которого для k-битного целого числа составляет
для некоторого .
В 2010 году группе учёных из Швейцарии, Японии, Франции, Нидерландов, Германии и США удалось успешно вычислить данные, зашифрованные при помощи криптографического ключа стандарта RSA длиной 768 бит. Нахождение простых сомножителей осуществлялось общим методом решета числового поля. По словам исследователей, после их работы в качестве надежной системы шифрования можно рассматривать только RSA-ключи длиной 1024 бита и более. Причём от шифрования ключом длиной в 1024 бит стоит отказаться в ближайшие три-четыре года.
Кроме того, при неправильной
или неоптимальной реализации или
использовании алгоритма
Основные достоинства и недостатки метода
Таблица - 2
Сравнение некоторых алгоритмов
Алгоритм |
Ключ |
Назначение |
Криптостойкость, MIPS |
Примечания |
RSA |
До 4096 бит |
Шифрование и подпись |
2,7•1028 для ключа 1300 бит |
Основан на трудности задачи факторизации больших чисел; один из первых асимметричных алгоритмов. Включен во многие стандарты |
ElGamal |
До 4096 бит |
Шифрование и подпись |
При одинаковой длине ключа криптостойкость равная RSA, т.е. 2,7•1028 для ключа 1300 бит |
Основан на трудной задаче вычисления дискретных логарифмов в конечном поле; позволяет быстро генерировать ключи без снижения стойкости. Используется в алгоритме цифровой подписи DSA-стандарта DSS |
DSA |
До 1024 бит |
Только подписание |
Основан на трудности задачи дискретного логарифмирования в конечном поле; принят в качестве гос. стандарта США; применяется для секретных и несекретных коммуникаций; разработчиком является АНБ. | |
ECDSA |
До 4096 бит |
Шифрование и подпись |
Криптостойкость и скорость работы выше, чем у RSA |
Современное направление. Разрабатывается многими ведущими математиками |
Система RSA используется для защиты программного обеспечения и в схемах цифровой подписи.
Также она используется в открытой системе шифрования PGP и иных системах шифрования (к примеру, DarkCryptTC и формат xdc) в сочетании с симметричными алгоритмами.
Из-за низкой скорости шифрования
(около 30 кбит/с при 512 битном ключе на процессоре 2 ГГц), сообщения
обычно шифруют с помощью более производительных
симметричных алгоритмов со случайным
ключом (сеансовый ключ), а с помощью RSA
шифруют лишь этот ключ, таким образом
реализуется гибридная криптосистема. Такой механизм
имеет потенциальные уязвимости ввиду
необходимости использовать криптостойкий генератор
случайных чисел для формирования случайного сеансового
ключа симметричного шифрования и эффективно
противостоящий атакам симметричный криптоалгоритм
(в данное время широкое применение находят AES,IDEA, Serpent, Two
Криптосистема RSA используется
в самых различных продуктах,
на различных платформах и во многих
отраслях. В настоящее время
Технологию шифрования RSA BSAFE используют около 500 миллионов пользователей всего мира. Так как в большинстве случаев при этом используется алгоритм RSA, то его можно считать наиболее распространенной криптосистемой общего (public) ключа в мире и это количество имеет явную тенденцию к увеличению по мере роста Internet.
Криптосистема RSA – часть многих мировых стандартов. Стандарт ISO 9796 описывает RSA как совместимый криптографический алгоритм, соотвествующий стандарту безопасности ITU-T X.509. Кроме этого криптосистема RSA является частью стандартов SWIFT, ANSI X9.31 rDSA и проекта стандарта X9.44 для американских банков. Австралийский стандарт управления ключами AS2805.6.5.3 также включает систему RSA.
Алгоритм RSA используется в Internet, в частности он входит в такие протоколы как S/MIME, IPSEC (INTERNET PROTOCOL SECURITY) и TLS (которым предполагается заменить SSL), а также в стандарт PKCS, применяемый в важных приложениях.
Для разработчиков приложений
с применением PKCS организация OSI Implementers'
Workshop (OIW) выпустила соглашение, которое
в частности посвящено
Множество других разрабатываемых в настоящее время стандартов включают в себя либо сам алгоритм RSA или его поддержку либо рекомендуют криптосистему RSA для обеспечения секретности и/или установления подлинности (аутентификации). Например, включают в себя систему RSA рекомендации IEEE P1363 и WAP WTLS.
На начало 2001 года криптосистема RSA являлась наиболее широко используемой криптосистемой открытого (public) ключа и зачастую называется стандартом де факто. Вне зависимости от официальных стандартов существование такого стандарта чрезвычайно важно для развития электронной коммерции и вообще экономики. Единая система открытого (public) ключа допускает обмен документами с электронно-цифровыми подписями между пользователями различных государств, использующими различное программное обеспечение на различных платформах; такая возможность насущно необходима для развития электронной коммерции. Распространение системы RSA дошло до такой степени, что ее учитывают при создании новых стандартов. При разработке стандартов цифровых подписей, в первую очередь в 1997 был разработан стандарт ANSI X9.30, поддерживающий Digital Signature Standard (стандарт Цифровой подписи). Годом позже был введен ANSI X9.31, в котором сделан акцент на цифровых подписях RSA, что отвечает фактически сложившейся ситуации в частности для финансовых учреждений.
Недостатки защищенной аутентификации (установления подлинности) были главным препятствием для замены бумажного документооборота электронным; почти везде контракты, чеки, официальные письма, юридические документы все еще выполняются на бумаге. Именно это – необходимость элементов бумажного документооборота – не позволяло полностью перейти к электронным транзакциям. Предлагаемая RSA цифровая подпись – инструмент, который позволит перевести наиболее существенные бумажные документо-потоки в электронно-цифровой вид. Благодаря цифровым подписям многие документы – паспорта, избирательные бюллетени, завещания, договора аренды – теперь могут существовать в электронной форме, а любая бумажная версия будет в этом случае только копией электронного оригинала. Все это стало возможным благодаря стандарту цифровых подписей RSA.
Информация о работе Асимметричные системы шифрования. Криптосистема rsa