Уровень воды
- 1 year ago
- 0
- 0
Уровень криптостойкости (англ. security level) — показатель криптостойкости криптографического алгоритма , связанный с вычислительной сложностью выполнения успешной атаки на криптосистему наиболее быстрым из известных алгоритмов . Обычно измеряется в битах . N -битный уровень криптостойкости криптосистемы означает, что для её взлома потребуется выполнить 2 N вычислительных операций. Например, если симметричная криптосистема взламывается не быстрее, чем за полный перебор значений N -битного ключа, то говорят, что уровень криптостойкости равен N . Увеличение же в x раз количества операций, требуемых для взлома, прибавляет к уровню криптостойкости .
Существуют и другие методы, более точно моделирующие требуемое количество операций для взлома, что позволяет удобнее сравнивать криптографические алгоритмы и их гибриды . Например, AES -128 (размер ключа 128 бит) предназначен для обеспечения 128-битного уровня криптостойкости, который считается примерно эквивалентным 3072-битному RSA .
У симметричных алгоритмов уровень криптостойкости обычно строго определён, но изменится, если появится более успешная криптоатака. Для симметричных шифров он в общем случае равен размеру ключа шифрования , что эквивалентно полному перебору значений ключа. Для криптографических хеш-функций с длиной значений n бит атака "дней рождения" позволяет находить коллизии в среднем за вычислений хеш-функции. Таким образом, уровень криптостойкости при нахождении коллизий равен n/2 , а при нахождении прообраза — n . Например, SHA-256 предоставляет 128-битную защиту от коллизий и 256-битную защиту от нахождения прообраза.
Есть и исключения. Например, Phelix и Helix — 256-битные шифры, обеспечивающие 128-битный уровень криптостойкости. SHAKE варианты SHA-3 также различны: для 256-битного размера возвращаемых данных SHAKE-128 обеспечивает 128-битный уровень криптостойкости и при нахождении коллизий, и при нахождении прообраза.
В асимметричной криптографии, например, в криптосистемах с открытым ключом , используются односторонние функции , то есть функции, легко вычисляемые по аргументу, но с высокой вычислительной сложностью нахождения аргумента по значению функции, однако атаки на существующие системы с открытым ключом обычно быстрее, чем полный перебор пространства ключей. Уровень криптостойкости таких систем неизвестен во время разработки, но предполагается по самой известной на текущий момент криптоатаке.
Существуют различные рекомендации оценки уровня криптостойкости асимметричных алгоритмов, отличающиеся в силу различных методологий. Например, для криптосистемы RSA на 128-битном уровне криптостойкости NIST и ENISA рекомендуют использовать 3072-битные ключи и IETF 3253. Эллиптическая криптография позволяет использовать более короткие ключи, поэтому рекомендуются 256—383 бит ( NIST ), 256 бит ( ENISA ) и 242 бит ( IETF ).
Две криптосистемы обеспечивают одинаковый уровень криптостойкости, если ожидаемые усилия, необходимые для взлома обеих систем, эквивалентны. Поскольку понятие усилия можно интерпретировать несколькими способами, существуют два пути сравнения:
В таблице приведены оценки максимальных уровней криптостойкости, которые могут быть предоставлены симметричными и асимметричными криптографическими алгоритмами, с учетом ключей определённой длины на основании рекомендаций NIST .
Уровень криптостойкости | Симметричные криптосистемы | 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 , — размер порядка точки .