Cryptology Academy · Урок

Почему важна длина криптографического ключа

Разберитесь во взаимосвязи длины ключа, количества битов безопасности и реалистичных сроков атак

Урок 3 из 413 шагов

«Почему важна длина криптографического ключа» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.

Параметр безопасности лямбда

В криптографии параметр безопасности лямбда обозначает целевой уровень безопасности. Он определяет длину ключей, размеры выходных данных хешей и другие параметры криптографической системы. Система с лямбда = 128 означает, что злоумышленнику потребуется примерно 2^128 операций для её взлома. Все параметры выбираются согласованно, чтобы наиболее слабый компонент обеспечивал как минимум этот уровень безопасности.

Стойкость 80 бит: теперь считается слабой

Раньше стойкость 80 бит считалась достаточной для приложений, не работающих с конфиденциальными данными. Для взлома требуется примерно 2^80, то есть около 10^24 операций. С современными кластерами GPU и оптимизированными алгоритмами это приближается к практически достижимому уровню для хорошо финансируемых противников. В 2010 году NIST признал стойкость 80 бит устаревшей, и теперь она не рекомендуется ни для какого нового криптографического развёртывания. Устаревшие системы с параметрами 80 бит следует обновить.

Стойкость 112 бит: защита в среднесрочной перспективе

Стойкость 112 бит, обеспечиваемая тройным DES (3DES), даёт умеренный уровень защиты и была минимальной рекомендацией NIST для симметричного шифрования после признания DES устаревшим. 3DES применяет DES три раза с разными ключами, фактически обеспечивая уровень стойкости 112 бит, несмотря на длину ключа 168 бит. NIST планирует запретить 3DES для федерального использования к 2024 году, поскольку вычислительная мощность продолжает расти, а AES полностью заменил этот алгоритм.

Стойкость 128 бит: современный стандарт

AES-128 обеспечивает стойкость 128 бит и является современным стандартом симметричного шифрования. Для классических компьютеров не существует практической атаки на AES-128. NIST считает стойкость 128 бит достаточной для долгосрочной защиты как минимум до 2030 года. Большинство криптографических протоколов, включая TLS 1.3, WireGuard и Signal, по умолчанию используют симметричные ключи длиной 128 бит или больше.

Стойкость 256 бит: запас прочности в постквантовую эпоху

AES-256 обеспечивает стойкость 256 бит против классических атак и эффективную стойкость 128 бит против квантового алгоритма Гровера. Применение симметричных ключей длиной 256 бит гарантирует, что даже при появлении крупномасштабных квантовых компьютеров шифрование сохранит стойкость уровня 128 бит. Поэтому государственные и военные системы, которым требуется долгосрочная защита данных, уже переходят на симметричное шифрование с ключами длиной 256 бит.

RSA требует гораздо более длинных ключей

Стойкость RSA основана на сложности факторизации больших целых чисел. Факторизация — более простая математическая задача, чем полный перебор симметричного ключа, поэтому RSA нужны гораздо более длинные ключи для достижения эквивалентной стойкости. Ключ RSA длиной 2048 бит обеспечивает всего около 112 бит стойкости. Ключ RSA длиной 3072 бита обеспечивает примерно 128 бит стойкости. Для достижения такой же стойкости, как у AES-256, потребовался бы ключ RSA длиной около 15 360 бит.

ECC: эффективная асимметричная защита

Криптография на эллиптических кривых обеспечивает такую же стойкость, как RSA, при гораздо меньшей длине ключей благодаря сложности задачи дискретного логарифмирования на эллиптической кривой. Ключ ECC длиной 256 бит, например P-256 или Curve25519, обеспечивает примерно 128 бит стойкости, что эквивалентно ключу RSA длиной 3072 бита. Меньшие ключи означают более быстрые вычисления и меньшие сообщения рукопожатия TLS, поэтому ECC предпочтительна для приложений, чувствительных к производительности.

NIST SP 800-57: рекомендации по управлению ключами

Специальная публикация NIST 800-57 — авторитетное руководство по управлению криптографическими ключами. В ней указано, какие алгоритмы и длины ключей допустимы для каждого уровня стойкости, как долго следует использовать ключи до их замены, а также требования к хранению и уничтожению ключей. Следование SP 800-57 гарантирует, что выбор криптографических средств соответствует федеральным стандартам и может быть обоснован при проверках соответствия требованиям.

Сравнение длин симметричных и асимметричных ключей

Наиболее распространенное сопоставление выглядит так: симметричный ключ длиной 128 бит (AES-128) обеспечивает примерно такую же стойкость, как RSA с ключом длиной 3072 бита или ECC с ключом длиной 256 бит. Это объясняется тем, что стоимость полного перебора симметричных ключей растет экспоненциально, тогда как асимметричные ключи защищены математическими алгоритмами с субэкспоненциальной стоимостью. Разница в длине ключей отражает различную сложность лежащих в основе математических задач.

Битовая стойкость и длина ключа в битах

Битовая стойкость информативнее, чем просто длина ключа. Утверждение, что система обладает стойкостью 128 бит, означает, что для ее взлома требуется примерно 2^128 операций независимо от алгоритма. Ключ AES длиной 2048 бит обладает стойкостью 112 бит. Ключ AES длиной 128 бит обладает стойкостью 128 бит. Сравнение длин ключей разных алгоритмов без учета битовой стойкости приводит к ошибочным выводам об их относительной прочности.

Планирование долгосрочной стойкости

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

Эквивалентность битовой стойкости

Какой размер ключа обеспечивает примерно такой же уровень стойкости, как AES-128?

Длина ключа: основные выводы

Параметр стойкости λ измеряет целевой уровень стойкости в битах. Уровень 80 бит устарел; 112 бит — минимум; 128 бит — стандарт; 256 бит обеспечивает постквантовый запас стойкости. Для эквивалентной стойкости RSA требует гораздо более длинных ключей, чем симметричные алгоритмы: RSA с ключом длиной 3072 бита соответствует AES-128. ECC обеспечивает такую же стойкость, как RSA, при гораздо меньшей длине ключа. При сравнении алгоритмов битовая стойкость важнее, чем просто длина ключа.

Можно начать бесплатно

Изучай Cryptology Academy с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
67
Уроки
261

Часто задаваемые вопросы

Урок «Почему важна длина криптографического ключа» бесплатный?

Да — полный текст урока «Почему важна длина криптографического ключа» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.

Чему я научусь в уроке «Почему важна длина криптографического ключа»?

Разберитесь во взаимосвязи длины ключа, количества битов безопасности и реалистичных сроков атак Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cryptology Academy?

Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Почему важна длина криптографического ключа»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cryptology Academy?

Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Как работают атаки перебором
  2. Атаки по словарю и радужные таблицы
  3. Почему важна длина криптографического ключа
  4. Ограничение частоты запросов и блокировка учётных записей
← Назад к Cryptology Academy