Асимметричная криптосистема
Асимметричная криптосистема (криптосистема с открытым ключом) — это криптографическая система, использующая два математически связанных, но различных ключа: открытый (public key) и закрытый (private key). Открытый ключ предназначен для шифрования данных или проверки цифровой подписи и может быть свободно распространён. Закрытый ключ, который хранится в секрете, используется для расшифрования или создания подписи. Безопасность асимметричных криптосистем основана на вычислительной сложности решения определённых математических задач (факторизация больших чисел, дискретное логарифмирование, эллиптические кривые), что делает невозможным определение закрытого ключа по открытому за приемлемое время.
История
Концепция асимметричной криптографии была впервые публично предложена в 1976 году американскими криптографами Уитфилдом Диффи и Мартином Хеллманом в работе «New Directions in Cryptography» (Новые направления в криптографии). Они ввели понятие односторонней функции с секретом (лазейкой) и описали протокол обмена ключами (протокол Диффи — Хеллмана), который позволяет двум сторонам получить общий секретный ключ по незащищённому каналу связи.
Независимо от Диффи и Хеллмана, в 1973 году британский криптограф Джеймс Эллис из Центра правительственной связи (GCHQ) сформулировал идею несимметричного шифрования, а Клиффорд Кокс в 1974 году разработал её математическую реализацию, эквивалентную более позднему алгоритму RSA. Однако эти работы оставались засекреченными до 1997 года.
Первую практическую асимметричную криптосистему, пригодную для шифрования и цифровой подписи, создали в 1977 году криптографы Массачусетского технологического института Рональд Ривест, Ади Шамир и Леонард Адлеман (RSA — аббревиатура по первым буквам фамилий авторов). Система RSA стала мировым стандартом.
В последующие десятилетия были предложены и внедрены другие системы: криптосистема Эль-Гамаля (1985), стандарт DSA (1991, для цифровых подписей), а также схемы на основе эллиптических кривых (ECC), впервые описанные Нилом Коблицем и Виктором Миллером в 1985–1986 годах.
Принцип работы
Работа асимметричной криптосистемы основана на трёх базовых операциях:
- Генерация пары ключей: Пользователь генерирует случайную пару (открытый
E, закрытыйD). Эти ключи связаны друг с другом, но вывестиDизEвычислительно невозможно (при соблюдении криптостойкости). - Шифрование: Отправитель, используя открытый ключ получателя
E, преобразует открытый текстMв шифротекстC = E(M). - Расшифрование: Получатель, используя свой закрытый ключ
D, восстанавливает исходный текст:M = D(C).
Важным свойством является то, что функции шифрования и расшифрования являются взаимно обратными: D(E(M)) = M и E(D(M)) = M. Второе равенство используется при создании цифровой подписи: отправитель шифрует хэш сообщения своим закрытым ключом, а любой получатель может проверить подпись, применяя открытый ключ отправителя.
Классификация и виды асимметричных криптосистем
Асимметричные криптосистемы классифицируются по типу математической задачи, лежащей в основе их стойкости.
1. Системы на основе задачи факторизации целых чисел
- RSA (Rivest–Shamir–Adleman): Классический алгоритм, стойкость которого основана на трудности разложения большого составного числа (модуля
n, равного произведению двух простых чисел) на простые множители. Широко применяется в SSL/TLS, цифровых подписях, криптовалютах. - Схема Рабина: Криптосистема, стойкость которой строго эквивалентна сложности факторизации. Используется реже RSA из-за особенностей реализации.
2. Системы на основе задачи дискретного логарифмирования
- Криптосистема Эль-Гамаля: Основана на трудности вычисления дискретного логарифма в мультипликативной группе вычетов по модулю большого простого числа.
- DSA (Digital Signature Algorithm): Стандарт цифровой подписи, основанный на дискретном логарифмировании.
- Алгоритм Диффи — Хеллмана ключа обмена (DH): Протокол установления общего секрета, не является криптосистемой шифрования, но служит фундаментом для многих асимметричных систем.
3. Системы на основе эллиптических кривых
- ECC (Elliptic Curve Cryptography): Семейство криптосистем, использующих свойства точек на эллиптической кривой. Ключи и вычислительные затраты при той же стойкости значительно меньше, чем в RSA и DSA. Например, 256-битный ключ ECC по стойкости эквивалентен 3072-битному ключу RSA. Используется в современных протоколах (TLS 1.3, Bitcoin, Ethereum), в системах стандартизации России (ГОСТ Р 34.10–2012).
- ECDSA (Elliptic Curve Digital Signature Algorithm): Вариант DSA на эллиптических кривых.
- ECDH (Elliptic Curve Diffie–Hellman): Вариант протокола Диффи-Хеллмана на эллиптических кривых.
4. Другие типы
- Криптосистема Мак-Элиса (1978): основана на теории кодирования, в частности на сложности декодирования случайного линейного кода. Известна высокой стойкостью, но недостаток — очень большие размеры ключей. Сейчас рассматривается как кандидат для постквантовой криптографии.
- Криптосистема Нидеррайтера: Вариант на основе теории кодов, работает с использованием кода Гоппы.
- Криптосистемы на решётках (LWE, Ring-LWE): Используют сложность решения задач на целочисленных решётках. Считаются стойкими против квантового компьютера и активно развиваются (например, алгоритмы NTRU, Falcon, Kyber).
Области применения
Асимметричная криптография является основой современной кибербезопасности и имеет широкий спектр применений:
- Шифрование данных: Защита конфиденциальной информации при передаче через интернет (HTTPS, протоколы шифрования почты PGP/GnuPG).
- Цифровые подписи: Удостоверение подлинности документа или сообщения; подтверждение авторства и целостности без раскрытия содержимого. Используются в электронном документообороте, в том числе в системах электронной подписи (ЭП) по ГОСТ Р 34.10–2012.
- Протоколы установления ключей: Создание временных сеансовых ключей для симметричного шифрования (например, в TLS, IPsec, SSH).
- Аутентификация: Доказательство личности владельца ключа без передачи пароля. Обычно реализуется через цифровые сертификаты (X.509).
- Криптовалюты и блокчейн: Генерация адресов кошельков, подпись транзакций, создание и проверка смарт-контрактов (Bitcoin, Ethereum). Используются ECDSA и схемы на эллиптических кривых.
- Электронные деньги: Защищённые платежные системы (например, система SWIFT использует RSA или EC для подписи).
- Управление правами доступа (DRM): Шифрование контента с возможностью выдачи ключей разным пользователям.
Преимущества и недостатки
Преимущества
- Удобство распространения ключей: Открытый ключ можно передавать по незащищённому каналу, не требуя предварительного секретного соглашения. Это решает главную проблему симметричной криптографии — проблему распределения ключей.
- Асимметричное шифрование позволяет подписывать документ одним закрытым ключом, а проверять — любым открытым. Это незаменимо для цифровых подписей и аутентификации.
- Масштабируемость: Для безопасной связи N пользователей требуется N пар ключей, а не N*(N-1)/2 симметричных ключей.
- Устойчивость к компрометации одного ключа: Компрометация одного закрытого ключа не приводит к раскрытию ключей всех других пользователей (в отличие от симметричного централизованного решения).
Недостатки
- Производительность: Асимметричное шифрование значительно (в 100–1000 раз) медленнее симметричного при том же объёме данных. Поэтому на практике асимметричные алгоритмы обычно используются только для шифрования коротких сессионных ключей или для подписи хэшей сообщений.
- Размер ключей: Для достижения стойкости, сопоставимой с симметричными алгоритмами (AES-256), требуются ключи в RSA длиной 2048–4096 бит, а в ECC — 256–384 бита. Симметричные ключи обычно имеют длину 128–256 бит.
- Уязвимость к атаке «человек посередине» (MITM): Если злоумышленник способен перехватить канал связи и подменить открытые ключи, он сможет расшифровать все сообщения или выдать себя за легитимную сторону. Для защиты требуется инфраструктура открытых ключей (PKI) и доверенные центры сертификации.
- Постквантовая уязвимость: Большинство широко используемых асимметричных систем (RSA, DSA, ECDSA) нестойки к атакам с использованием квантового компьютера (алгоритм Шора). Идут активные разработки постквантовых криптосистем (на решётках, кодах, многомерных системах).
- Отсутствие функциональной избыточности: Некоторые системы (например, RSA) требуют осторожности при выборе параметров (простое число, экспонента). Ошибки могут привести к взлому.
Примеры
- RSA-2048: Наиболее широко используемая асимметричная система в инфраструктуре TLS 1.2 и ниже. Ключ — 2048 бит.
- ECDSA secp256k1: Используется в Bitcoin и Ethereum для подписей транзакций. Ключ — 256 бит.
- ГОСТ Р 34.10–2012: Российский стандарт цифровой подписи, основанный на эллиптических кривых, входит в состав СКЗИ (средств криптографической защиты информации), обязателен для использования в государственных и муниципальных системах в РФ.
- Ed25519 (Curve25519): Высокопроизводительная схема подписи на основе эллиптической кривой, применяется в современных приложениях (SSH, OpenSSH, Signal, WireGuard).
Источники
- Диффи, У., Хеллман, М. (1976). «New Directions in Cryptography». IEEE Transactions on Information Theory.
- Ривест, Р., Шамир, А., Адлеман, Л. (1978). «A Method for Obtaining Digital Signatures and Public-Key Cryptosystems». Communications of the ACM.
- Коблиц, Н. (1987). «Elliptic curve cryptosystems». Mathematics of Computation.
- Шнайер, Б. (1996). «Applied Cryptography» (2nd ed.). John Wiley & Sons.
- Федеральный закон «Об электронной подписи» (№ 63-ФЗ).
- ГОСТ Р 34.10–2012 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи».
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →