Рейтинг:7

Почему до сих пор используются кривые NIST?

флаг in

Я относительно новичок в мире криптографии (но что касается математики, я знаком с внутренней работой. Раньше я редко использовал его для конфиденциальности, но теперь я использую его для многих вещей).

Во всяком случае, я рассматривал этот URL, и, конечно же, я заметил, что у кривых NIST много недостатков. Больше, чем другие кривые, такие как E-521, которая, как я понимаю, математически доказана как защищенная от большинства известных атак.

Из этого у меня есть пара вопросов, которые я надеялся, что кто-то может мне объяснить:

  • Почему GPG предлагает шифрование NIST, если оно менее безопасно, чем другие? Почему не предлагают самые безопасные варианты?

  • Все мои ключи GPG относятся к категории NIST, должен ли я их изменить? (Между прочим, мой подключаемый ключ подписи отличается, но все еще уязвим.)

miraunpajaro avatar
флаг in
@Патриот Спасибо! Вы правы, я изменил его, я думаю, что теперь это более правильно. Что касается вашего первого комментария, значит ли это, что это обычная жалоба? Разве это не должно быть приоритетной задачей для gnupg?
poncho avatar
флаг my
Самая известная атака на Curve25519 в четыре раза проще, чем самая известная атака на P256. Как тогда P256 является «менее безопасным» вариантом?
dave_thompson_085 avatar
флаг cn
В основном обман https://crypto.stackexchange.com/questions/52983/why-is-there-the-option-to-use-nist-p-256-in-gnupg https://crypto.stackexchange.com/questions /52859/why-is-c25519-in-the-gpg-expert-options https://security.stackexchange.com/questions/160311/what-ecc-to-choose-with-gpg
флаг cn
Также связано: https://crypto.stackexchange.com/q/44397/29574
Рейтинг:17
флаг cn

Это важный вопрос, который волнует мета-политические войны в криптографическом сообществе.

SafeCurves — хороший ресурс, но очень мнение о том, что означает «безопасный». Например secp256k1, кривая, используемая Биткойном и Эфириумом для гарантии своей безопасности, считается командой SafeCurves «небезопасной», в то время как в настоящее время она имеет более 1000+ B$ «баунти-баунти» в виде BTC и ETH, которые могут быть взломаны, если вы сможете сломать это...

Так что нет, это не потому, что SafeCurves говорит, что что-то не так».Безопасно"это значит, что это"сломанныйКонечно, кривые NIST могли бы быть лучше, но они все еще работают и выполняют свою работу, и (насколько нам известно) против них не существует эффективных практических атак, которые угрожали бы системам, которые в настоящее время их используют, до тех пор, пока они "правильно" реализованы... Что значит они не сломаны, и я бы лично не сказал, что они «небезопасны» для использования в 2021 году. Но если я разрабатываю новую систему, в которой я могу выбрать любой механизм согласования ключей или алгоритм подписи, они также не являются моим первым выбором.

Огромной проблемой, когда вы работаете в области разработки программного (и аппаратного) обеспечения, является «соблюдение требований», и, боюсь, именно NIST выпускает «стандарты», которые считаются Святым Граалем в мире соответствия.
Итак, пока они в настоящее время работают над новыми проектами (например, черновик для FIPS 186-5 в настоящее время включает Ed25519 в качестве алгоритма подписи), содержащий более «современные» кривые, они до сих пор еще не обновили свои рекомендации и стандарты, и поэтому многие организации обязаны полагаться на свои старые добрые рекомендации, такие как кривая P-256.

Совместимость также является большой проблемой. Например, кривая NIST P-256 поддерживается Web Crypto API, который должен быть постоянным и «безопасным» (в смысле «мы не знаем эффективных, практических атак против него»). Между тем более современный Curve25519 считается более безопасным и менее подверженным ошибкам реализации, чем P-256, но пока не поддерживается Web Crypto API. Итак, чтобы делать вещи JavaScript с использованием ECC, вам лучше использовать P-256, чем Curve25519. (Или WASM, но это уже другая тема.)

Кроме того, важно отметить, что GnuPG следует Спецификации OpenPGP и пытается быть широко интероперабельным, взаимосовместимым инструментом. Таким образом, он поддерживает МНОЖЕСТВО различных схем, среди которых некоторые старше, чем другие, некоторые более или менее используются. Существует проект, включающий поддержку Ed25519 и X25519 в PGP, который в настоящее время открыт и над которым активно работали в течение последних нескольких лет:

Те же проблемы с совместимостью возникают и с PGP: если вы хотите иметь возможность легко общаться с другими, использующими его, лучше всего использовать то, что другие также используют/поддерживают.

Таким образом, PGP в какой-то момент достигнет этого, но это медленный процесс, и пока эти старые кривые и стандарты практически не нарушены (или не рискуют быть нарушенными), этот медленный процесс, вероятно, не ускорится.

Теперь вы должны изменить свои ключи PGP, если вы используете P-256 или другую кривую, чья «стоимость ро» выше 2 ^ 100 в этом списке: https://safecurves.cr.yp.to/rho.html ? Я бы сказал "Нет". Вам не нужно беспокоиться сейчас, по крайней мере, в течение следующих 5 лет, возможно, больше. Но Квантовые компьютеры могут изменить эту историю еще через несколько лет, если они окажутся столь же эффективными, как мы ожидаем, при решении проблемы дискретного логарифмирования на практике.

poncho avatar
флаг my
Существует один «настоящий» квантовый компьютер (где «настоящий» означает «достаточно большой и надежный, чтобы запустить алгоритм Шора на используемом нами размере кривых»), все эллиптические кривые становятся небезопасными (исключение: суперсингулярные методы, основанные на изогении, которые работают совершенно по-другому).
флаг cn
Да, это ожидание, о котором я упоминал. Но я сомневаюсь, что мы сможем иметь достаточно «стабильный» контроль качества, чтобы достичь этого ^^'
miraunpajaro avatar
флаг in
Очень хорошо! Один вопрос о квантовых компьютерах. AFAI, есть нижние границы того, сколько энергии потребуется для перебора некоторых алгоритмов ecc. Применяются ли эти ограничения к квантовым вычислениям? Я предполагаю, что нет, но ИДК.
флаг cn
Нет, любой алгоритм ECC (не основанный на изогнеях) ломается квантовым компьютером.Кроме того, вы, вероятно, путаете со [знаменитой границей] (https://crypto.stackexchange.com/a/1160/29574) об энергии, необходимой для перебора 256-битного ключа, но это для симметричных алгоритмов, а не ЕСС.
Mark avatar
флаг ng
@Lery На самом деле важным моментом является то, что он предназначен для грубой силы, в то время как функционирующий контроль качества позволяет добиться большего успеха, чем грубая сила против ECC.
miraunpajaro avatar
флаг in
Ааа я вижу. А симметричная криптография квантово устойчива, как я понимаю.
miraunpajaro avatar
флаг in
@Марк Не могли бы вы уточнить? Как именно?
Mark avatar
флаг ng
@miraunpajaro, если бы кто-то грубо форсировал ECC, это заняло бы время $\Theta(2^\lambda)$ (по сути, по определению). Общие методы квантовых вычислений (алгоритм Гровера) часто позволяют вам уменьшить это до $\Theta(2^{\lambda/2})$ - хотя вы можете остановить это, удвоив размеры ключа. Проблема с ECC заключается в том, что существует алгоритм Шора, который снижает сложность DLOG (для группы размером $O(2^\lambda)$) до (квантового) полиномиального времени, например $\лямбда^{О(1)}$.
Mark avatar
флаг ng
Связанный расход энергии сам по себе, по сути, говорит: «Вы платите минимальное количество энергии за каждый стираемый бит энергии». Это, вероятно, означает, что не существует квантового аналога (квантовые вычисления, пока вы их не измерите, «обратимы»), но вы можете ограничить количество энергии, затрачиваемой на решение DLOG, над общей группой (у которой есть нижняя граница $\ Omega(2^{\lambda/2})$ в классической настройке --- сама граница не специфична для симметричного шифрования.
poncho avatar
флаг my
@Mark: на самом деле, в классических вычислениях есть общие методы, которые ломают ECC во времени $\Theta(2^{\lambda/2})$ - эти атаки основаны на групповой структуре ECC.
Mark avatar
флаг ng
@poncho Да, именно поэтому я написал $\Omega(2^{\lambda/2})$, а не $\omega(2^{\lambda/2})$. Я написал $\Omega(\cdot)$ вместо $\Theta(\cdot)$, чтобы подчеркнуть, что аргумент касается именно *нижней границы* (и тот факт, что существует соответствующая верхняя граница, не имеет значения), возможно это было несколько педантично.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.