Уровень криптостойкости (англ. security level) — показатель криптостойкости криптографического алгоритма, связанный с вычислительной сложностью выполнения успешной атаки на криптосистему наиболее быстрым из известных алгоритмов[1][2]. Обычно измеряется в битах. N-битный уровень криптостойкости криптосистемы означает, что для её взлома потребуется выполнить 2n вычислительных операций. Например, если симметричная криптосистема взламывается не быстрее, чем за полный перебор значений n-битного ключа, то говорят, что уровень криптостойкости равен n. Увеличение же в x раз количества операций, требуемых для взлома, прибавляет к уровню криптостойкости[3].
Существуют и другие методы, более точно моделирующие требуемое количество операций для взлома, что позволяет удобнее сравнивать криптографические алгоритмы и их гибриды.[4] Например, AES-128 (размер ключа 128 бит) предназначен для обеспечения 128-битного уровня криптостойкости, который считается примерно эквивалентным 3072-битному RSA.
У симметричных алгоритмов уровень криптостойкости обычно строго определён, но изменится, если появится более успешная криптоатака. Для симметричных шифров он в общем случае равен размеру ключа шифрования, что эквивалентно полному перебору значений ключа.[5][6] Для криптографических хеш-функций с длиной значений n бит атака "дней рождения" позволяет находить коллизии в среднем за вычислений хеш-функции. Таким образом, уровень криптостойкости при нахождении коллизий равен n/2, а при нахождении прообраза — n.[7] Например, SHA-256 предоставляет 128-битную защиту от коллизий и 256-битную защиту от нахождения прообраза.
Есть и исключения. Например, Phelix и Helix — 256-битные шифры, обеспечивающие 128-битный уровень криптостойкости.[5] SHAKE варианты SHA-3 также различны: для 256-битного размера возвращаемых данных SHAKE-128 обеспечивает 128-битный уровень криптостойкости и при нахождении коллизий, и при нахождении прообраза.[8]
В асимметричной криптографии, например, в криптосистемах с открытым ключом, используются односторонние функции, то есть функции, легко вычисляемые по аргументу, но с высокой вычислительной сложностью нахождения аргумента по значению функции, однако атаки на существующие системы с открытым ключом обычно быстрее, чем полный перебор пространства ключей. Уровень криптостойкости таких систем неизвестен во время разработки, но предполагается по самой известной на текущий момент криптоатаке.[6]
Существуют различные рекомендации оценки уровня криптостойкости асимметричных алгоритмов, отличающиеся в силу различных методологий. Например, для криптосистемы RSA на 128-битном уровне криптостойкости NIST и ENISA рекомендуют использовать 3072-битные ключи[9][10] и IETF 3253.[11][12] Эллиптическая криптография позволяет использовать более короткие ключи, поэтому рекомендуются 256—383 бит (NIST), 256 бит (ENISA) и 242 бит (IETF).
Две криптосистемы обеспечивают одинаковый уровень криптостойкости, если ожидаемые усилия, необходимые для взлома обеих систем, эквивалентны.[6] Поскольку понятие усилия можно интерпретировать несколькими способами, существуют два пути сравнения:[13]
В таблице приведены оценки максимальных уровней криптостойкости, которые могут быть предоставлены симметричными и асимметричными криптографическими алгоритмами, с учетом ключей определённой длины на основании рекомендаций NIST.[9]
Уровень криптостойкости | Симметричные криптосистемы | FFC | IFC | ECC |
---|---|---|---|---|
≤ | 2TDEA | = 1024, = 160 | = 1024 | = 160—223 |
3TDEA | = 2048, = 224 | = 2048 | = 224—255 | |
AES-128 | = 3072, = 256 | = 3072 | = 256—383 | |
AES-192 | = 7680, = 384 | = 7680 | = 384—511 | |
AES-256 | = 15360, = 512 | = 15360 | = 512+ |
Где — длина открытого ключа, — длина закрытого ключа, — размер модуля n, — размер порядка точки .
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .