Рейтинг:2

Безопасно ли хеширование паролей после квантовой обработки?

флаг az
Luc

Современные компьютеры не могут взломать достаточно надежные хешированные пароли, например, 14 сгенерированных CSPRNG буквенно-цифровых символов ($\приблизительно$80 бит энтропии).

Насколько я понимаю, алгоритм Гровера применяется к хеш-функциям (упоминается, например, в этом ответе), что означает, что при любом выводе MD5 из 128 бит он может найти ввод (или его коллизию) в $\sqrt{2^{128}}=2^{64}$ оценки алгоритма при условии, что компьютер имеет достаточное количество кубитов. Если квантовый компьютер сможет оценить MD5 достаточно быстро (или будет достаточно дешев, чтобы создать достаточное количество копий), он полностью сломает MD5, независимо от того, насколько надежным был пароль пользователя.

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

Что, если сама хэш-функция является постквантово безопасной, например. SHA-512, а на входе пароль? Известен ли какой-либо квантовый алгоритм, который может найти входные данные за значительно меньшее количество вычислений, чем традиционный поиск методом грубой силы ($\фракция{2^{80}}{2}$ в среднем для примера выше)? Применяется ли алгоритм Гровера (или любой другой применимый квантовый алгоритм) только к ослаблению самой хеш-функции или он также может искать только правдоподобные входные данные (a-z, A-Z, 0-9 <= 14 символов) для уменьшения пространства поиска?

Чтобы было ясно, я понимаю, что любая голая функция хэширования (даже с излишне длинными выходными данными, такими как SHA-512) — это ужасный способ хранения паролей пользователей, и следует использовать Argon2 или аналогичный, но я подумал, что жесткость памяти и другие аспекты могут сделать вопрос слишком широк или ответ менее широко применим.

Рейтинг:4
флаг my

Применяется ли алгоритм Гровера (или любой другой применимый квантовый алгоритм) только к ослаблению самой хеш-функции или он также может искать только правдоподобные входные данные (a-z, A-Z, 0-9 <= 14 символов) для уменьшения пространства поиска?

Метод Гровера - это общий метод поиска - он не знает и не заботится о том, как заданная функция интерпретирует входные данные. Если вы дадите ему функцию, которая интерпретирует входные данные как "(a-z, A-Z, 0-9 <= 14 символов)", она будет работать с ожидаемой сложностью.

С другой стороны, уместным может быть вопрос «имеет ли экономический смысл использование квантового компьютера, в отличие от фермы графических процессоров или некоторых ASIC?» Я предполагаю, что в течение следующих нескольких десятилетий (то есть до тех пор, пока технология квантовых компьютеров не преодолеет ряд поколений) классические методы в этом случае будут быстрее.

Некоторые из причин этого:

  • Можно ожидать, что стоимость операции квантовых вычислений составит много больше, чем стоимость соответствующего классического. Это постоянный коэффициент при сравнении двух, однако, если этот постоянный коэффициент, возможно, равен миллиарду или триллиону, его действительно не следует игнорировать.

  • Распараллеливание — классические компьютерные поиски (такие как этот) идеально парализуемы (чем может воспользоваться ферма GPU или набор ASIC). Напротив, алгоритм Гровера (или любой аналогичный поиск в Quantum Oracle) не работает — вы понимаете, что $n^2$ ускориться, если вы можете выполнить $ О (п) $ последовательные операции. Однако, если вы не можете ждать так долго и вам нужно реализовать несколько квантовых компьютеров для выполнения поиска, вы не получите этого. $n^2$ ускориться между ними. Например, чтобы выполнять поиск в 100 раз быстрее, вам нужно в 10 000 раз больше квантовых компьютеров.

  • Повторное использование ключа поиска. С помощью классических вычислений мы можем сгенерировать таблицу Rainbow — генерация этой таблицы занимает примерно столько же времени, сколько и полный поиск; однако, как только это будет сделано, повторный поиск по различным хэшированным паролям будет дешевым. Напротив, запуск алгоритма Гровера будет выполнять поиск по одному паролю — если мы хотим проверить другой хэш, нам придется снова платить за полный поиск. Конечно, вы можете построить таблицу Rainbow на квантовом компьютере; однако я не верю, что вы получите какое-либо квантовое ускорение, и я не слышал об альтернативе, в которой вы могли бы получить квантовое ускорение.

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

Чтобы было ясно, я понимаю, что любая голая функция хэширования (даже с излишне длинными выходными данными, такими как SHA-512) — это ужасный способ хранения паролей пользователей, и следует использовать Argon2 или аналогичный, но я подумал, что жесткость памяти и другие аспекты могут сделать вопрос слишком широк или ответ менее широко применим.

С нашим нынешним пониманием компромиссов, присущих квантовому компьютеру (которые могут быть значительно нестандартными), квантовому компьютеру будет довольно сложно иметь дело с жесткой функцией памяти. Вычисление такой хеш-функции потребует большой квантовой памяти, и (насколько нам известно) это выглядит ужасно дорого [1].

Алгоритм Гровера был бы применим (опять же, ему все равно, что такое хеш-функция); однако это, казалось бы, довольно дорого.

Итак, если предположить, что наши догадки верны, жесткая хэш-функция памяти (Argon2) будет даже более устойчива к квантовым вычислениям, чем простые хеш-функции.


[1]: Я считаю, что по крайней мере отчасти причина в том, что если у вас есть большая квантовая память и доступ к ней осуществляется по запутанному адресу, вы в конечном итоге выполняете операции с каждой отдельной ячейкой памяти (или, по крайней мере, с каждой отдельной ячейкой, которая может быть адресуется запутанным адресом). Напротив, с классической памятью вам нужно получить доступ только к адресуемой ячейке. Если мы говорим о памяти с 1 000 000 адресуемых ячеек, это означает, что квантовой памяти может потребоваться выполнить в 1 000 000 раз больше операций по сравнению с классическим случаем.

fgrieu avatar
флаг ng
Можно ли использовать это рассуждение для подтверждения того, что DSA с большим $p$ (скажем, 8192 бит), 256-битным $q$ и Argon2 в качестве хеш-функции будет сопротивляться (гипотетическому) росту CRQC дольше, чем ECDSA с secp256r1 и SHA-256?
poncho avatar
флаг my
@fgrieu: ну, с DSA и ECDSA вы бы использовали Шора, а не Гровера, а Шору все равно, что такое хэш. С другой стороны, из того, что мы знаем о Шоре, ECDSA-P256 кажется более простым, чем DSA-8192, в основном потому, что операции с эллиптическими кривыми, вероятно, будут дешевле, чем соответствующие битовые операции mod p=8192 (не то чтобы я я бы предположил, что DSA-8192 является квантово-безопасным...)
флаг az
Luc
Спасибо за отличный ответ! Часть ускорения (второй пункт списка) звучит нелогично, но на самом деле я получаю тот же результат, если работаю над этим. Для потомков: с некоторыми квантовыми компьютерами (КК), выполняющими $2^{32}$ операций, каждая доля составляет $\frac{2^{32}}{КК}$ операций, и каждый может выполнять свою долю в $\sqrt{share} $ время.Для 2 QC это составляет $2^{15,5}$ времени, тогда как первоначально для 1 QC потребовалось бы $2^{16}$ времени: ускорение менее чем в два раза при использовании вдвое большего количества QC. С 8 QC ускорение составляет всего 2,8Ã. Это усугубляется до 10 000 QC, наконец, ускорение составляет 100° (каждый дополнительный QC практически незначителен).

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

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