RSAREF
RSAREF — это библиотека криптографических функций, реализующая алгоритмы шифрования, цифровой подписи и хеширования, разработанная компанией RSA Security (ныне — подразделение корпорации EMC, входит в Dell Technologies). Библиотека была создана в начале 1990-х годов для свободного распространения и использования в некоммерческих и коммерческих приложениях, поддерживающих стандарты криптографии с открытым ключом.
История
Разработка RSAREF началась в 1992 году в компании RSA Data Security (позднее — RSA Security). Основной целью было предоставление разработчикам программного обеспечения свободно распространяемой реализации алгоритмов, запатентованных компанией RSA, в первую очередь алгоритма RSA (криптосистема, названная по фамилиям авторов — Ривеста, Шамира и Адлемана). В то время алгоритм RSA был защищён патентом США № 4 405 829, действовавшим до 2000 года, и его использование в коммерческих продуктах требовало лицензирования. RSAREF стала первой широко доступной библиотекой, которая позволяла легально использовать RSA в сторонних приложениях без необходимости заключения отдельного лицензионного соглашения, при условии соблюдения условий распространения самой библиотеки.
Первая версия RSAREF (RSAREF 1.0) была выпущена в 1993 году. Она включала реализацию алгоритма RSA, а также алгоритмов хеширования MD2 и MD4. В 1994 году вышла версия RSAREF 2.0, которая добавила поддержку алгоритма цифровой подписи DSA (Digital Signature Algorithm) и алгоритма хеширования MD5. В 1996 году была выпущена версия RSAREF 3.0, которая включала поддержку алгоритма шифрования RC2 и RC4, а также улучшенную реализацию RSA с поддержкой ключей большей длины.
С истечением срока действия патента RSA в 2000 году и появлением более современных криптографических библиотек (например, OpenSSL, Crypto++), использование RSAREF постепенно сократилось. Однако библиотека сыграла важную роль в популяризации криптографии с открытым ключом и стала основой для многих ранних криптографических приложений, включая первые версии веб-браузеров и почтовых клиентов.
Функциональные возможности
RSAREF предоставляла набор функций для выполнения основных криптографических операций:
- Генерация ключей: создание пар открытых и закрытых ключей для алгоритма RSA, а также ключей для симметричных алгоритмов (RC2, RC4).
- Шифрование и дешифрование: реализация асимметричного шифрования с использованием открытого и закрытого ключей RSA, а также симметричного шифрования с использованием алгоритмов RC2 и RC4.
- Цифровая подпись: создание и проверка цифровых подписей на основе алгоритмов RSA и DSA.
- Хеширование: вычисление хеш-значений с использованием алгоритмов MD2, MD4 и MD5.
- Управление ключами: функции для импорта, экспорта и хранения ключей в различных форматах (например, в формате PKCS#1).
Структура и интерфейс
Библиотека RSAREF была написана на языке C и распространялась в виде исходного кода. Она имела модульную структуру, что позволяло разработчикам подключать только необходимые компоненты. Основные модули включали:
rsa.h— заголовочный файл с объявлениями функций для работы с алгоритмом RSA.digest.h— заголовочный файл с объявлениями функций для хеширования.rand.h— заголовочный файл с функциями генерации случайных чисел.global.h— общие определения и типы данных.
Интерфейс библиотеки был процедурным: для выполнения операций необходимо было последовательно вызывать функции инициализации, обработки данных и завершения. Например, для шифрования сообщения с помощью RSA требовалось сначала сгенерировать или импортировать ключи, затем вызвать функцию rsa_encrypt(), передав ей открытый ключ и данные.
Применение
RSAREF нашла широкое применение в различных программных продуктах и протоколах, особенно в период до 2000 года:
- Веб-браузеры: библиотека использовалась в ранних версиях браузеров Netscape Navigator и Internet Explorer для реализации протокола SSL (Secure Sockets Layer), обеспечивающего защищённое соединение между браузером и сервером.
- Почтовые клиенты: RSAREF применялась для шифрования и подписи электронных писем в соответствии со стандартами S/MIME (Secure/Multipurpose Internet Mail Extensions) и PGP (Pretty Good Privacy).
- Программное обеспечение для электронной коммерции: библиотека использовалась для защиты транзакций и передачи конфиденциальных данных (например, номеров кредитных карт) в интернет-магазинах.
- Операционные системы: некоторые версии ОС (например, ранние версии Windows) включали RSAREF для поддержки криптографических функций на уровне системы.
- Образовательные и исследовательские проекты: благодаря свободному распространению, RSAREF часто использовалась в учебных курсах и научных работах, связанных с криптографией.
Лицензирование и распространение
RSAREF распространялась по специальной лицензии, разработанной компанией RSA Security. Лицензия разрешала свободное использование, копирование и модификацию библиотеки для любых целей, включая коммерческие, при условии, что:
- Все копии и производные работы содержат уведомление об авторских правах RSA Security.
- Название «RSAREF» не используется для продвижения продуктов, созданных на основе библиотеки, без письменного разрешения RSA Security.
- Любые изменения в библиотеке должны быть явно отмечены.
Эта лицензия была одной из первых, которая позволила широкое распространение криптографического кода, и в некоторой степени предвосхитила появление современных открытых лицензий (например, BSD и MIT).
Критика и ограничения
Несмотря на свою популярность, RSAREF имела ряд недостатков:
- Производительность: реализация алгоритмов была неоптимизированной и работала медленнее, чем специализированные коммерческие библиотеки. Это было особенно заметно при работе с ключами большой длины (например, 2048 бит и более).
- Ограниченная поддержка алгоритмов: библиотека поддерживала только ограниченный набор алгоритмов, что делало её непригодной для современных криптографических систем, требующих, например, поддержки эллиптических кривых или алгоритмов AES.
- Устаревшие алгоритмы хеширования: использование MD2, MD4 и MD5, которые впоследствии были признаны криптографически нестойкими, делало RSAREF уязвимой для атак (например, коллизий хешей).
- Отсутствие поддержки потокового шифрования: в версиях до 3.0 отсутствовала поддержка симметричных алгоритмов, что ограничивало её применение в протоколах, требующих быстрого шифрования больших объёмов данных.
- Зависимость от патентов: хотя лицензия RSAREF разрешала использование алгоритма RSA, она не освобождала от необходимости получения лицензии на другие запатентованные алгоритмы, такие как RC2 и RC4 (которые также были запатентованы RSA Security).
Наследие
RSAREF считается одной из первых свободно распространяемых криптографических библиотек, которая сыграла ключевую роль в становлении безопасного интернета. Она продемонстрировала возможность легального использования сильной криптографии в массовых продуктах и способствовала распространению криптографических знаний. Многие современные библиотеки, такие как OpenSSL, Bouncy Castle и Crypto++, заимствовали идеи и архитектурные решения из RSAREF. Несмотря на то, что сама библиотека устарела и не рекомендуется к использованию в новых проектах, её историческое значение в области криптографии и информационной безопасности остаётся значительным.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →