Асимметричное шифрование: RSA и эллиптические кривые
Разберитесь в парах открытого и закрытого ключей, концептуальном принципе работы RSA и причинах большей эффективности ECC.
«Асимметричное шифрование: RSA и эллиптические кривые» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.
Что такое асимметричное шифрование
Асимметричное шифрование использует математически связанную пару ключей: открытый ключ (свободно распространяется) и закрытый ключ (хранится в секрете). Данные, зашифрованные открытым ключом, можно расшифровать только закрытым ключом, и наоборот.
RSA: основа
RSA (Ривест, Шамир и Адлеман, 1977) основан на сложности разложения больших чисел на простые множители. Безопасность зависит от размера ключа: RSA-2048 — действующий минимальный размер; RSA-4096 используется для задач с высокими требованиями к безопасности. RSA медленнее симметричного шифрования и применяется для обмена ключами, а не для шифрования больших объёмов данных.
Генерация ключей RSA
Генерация ключей RSA:
# Generate 4096-bit RSA key pair:
openssl genrsa -out private.pem 4096
openssl rsa -in private.pem -pubout -out public.pem
# View key details:
openssl rsa -in private.pem -text -nooutКриптография на эллиптических кривых (ECC)
ECC обеспечивает уровень безопасности, эквивалентный RSA, при гораздо меньших размерах ключей. 256-битный ключ ECC сопоставим с 3072-битным ключом RSA. Меньшие ключи означают более быстрые операции и меньший объём передаваемых данных — это критически важно для рукопожатий TLS и мобильных устройств.
Распространённые эллиптические кривые
Широко используемые кривые:
- P-256 (secp256r1) — стандарт NIST, используется в TLS
- X25519 — разработана Бернштейном, обеспечивает эффективный обмен ключами и не связана с патентными ограничениями
- Ed25519 — схема подписи EdDSA, используется в ключах SSH
Гибридное шифрование
На практике асимметричное и симметричное шифрование объединяют:
- Асимметричное: зашифровать случайный симметричный ключ открытым ключом получателя
- Симметричное: зашифровать фактические данные этим ключом
Так работает TLS: RSA/ECDH согласовывает сеансовые ключи, а AES шифрует данные сеанса.
Обмен ключами Diffie-Hellman
Diffie-Hellman (DH) позволяет двум сторонам установить общий секрет через небезопасный канал, не обмениваясь ключом. Общий секрет используется для получения симметричного сеансового ключа. ECDH (Diffie-Hellman на эллиптических кривых) — современный вариант, используемый в TLS 1.3.
Совершенная прямая секретность
Совершенная прямая секретность (PFS): каждый сеанс использует эфемерные ключи DH, которые удаляются после использования. Даже если закрытый ключ сервера впоследствии будет скомпрометирован, ранее записанные сеансы нельзя будет расшифровать. TLS 1.3 требует PFS; в TLS 1.2 обращайте внимание на наборы шифров ECDHE.
RSA: шифрование и подпись
RSA выполняет две функции:
- Шифрование: зашифровать открытым ключом → расшифровать сможет только владелец закрытого ключа
- Подпись: подписать закрытым ключом → любой, у кого есть открытый ключ, сможет проверить подлинность
Используйте дополнение OAEP для шифрования и дополнение PSS для подписей. Никогда не используйте PKCS#1 v1.5 для шифрования.
Угроза со стороны квантовых вычислений
Квантовые компьютеры, использующие алгоритм Шора, могут взломать RSA и ECC. NIST стандартизирует алгоритмы постквантовой криптографии (CRYSTALS-Kyber для обмена ключами и CRYSTALS-Dilithium для подписей). Миграция займёт годы — начните уже сейчас составлять перечень систем, зависящих от криптографии.
Управление ключами
Асимметричные ключи требуют безопасного управления: создавайте их на доверенном оборудовании, защищайте закрытые ключи парольной фразой или с помощью HSM, регулярно меняйте ключи, отзывайте скомпрометированные ключи через CRL/OCSP. Утрата закрытых ключей означает потерю доступа ко всем зашифрованным данным.
Быстрая проверка: асимметричное шифрование
Какой подход объединяет асимметричное и симметричное шифрование, используя асимметричное шифрование для обмена ключом, а симметричное — для шифрования данных?
Итоги урока
Асимметричное шифрование использует пары открытых и закрытых ключей. RSA проверен временем, но медленный; ECC обеспечивает эквивалентный уровень безопасности при меньших ключах. Гибридное шифрование объединяет оба подхода для практического применения. Diffie-Hellman обеспечивает безопасный обмен ключами, а ECDHE — прямую секретность. Квантовые угрозы приближаются — следите за стандартизацией PQC со стороны NIST.
Часто задаваемые вопросы
Урок «Асимметричное шифрование: RSA и эллиптические кривые» бесплатный?
Да — полный текст урока «Асимметричное шифрование: RSA и эллиптические кривые» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Асимметричное шифрование: RSA и эллиптические кривые»?
Разберитесь в парах открытого и закрытого ключей, концептуальном принципе работы RSA и причинах большей эффективности ECC. Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cyber Security Academy?
Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Асимметричное шифрование: RSA и эллиптические кривые»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cyber Security Academy?
Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Симметричное шифрование: AES и потоковые шифры
- Асимметричное шифрование: RSA и эллиптические кривые
- Хеш-функции: SHA-256 и далее
- Цифровые подписи и сертификаты