Чи можна зрештою використати квантові обчислення для того, щоб зробити хешинг сучасних тривіальними?


18

Простіше кажучи, якби побудувати квантовий обчислювальний прилад потужністю, скажімо, 20 кубітів, чи можна було б використовувати такий комп'ютер, щоб зробити якийсь сучасний алгоритм хешування марним?

Чи вдасться навіть використати потужність квантових обчислень у традиційній обчислювальній програмі?


Питання, пов'язане, але не повторюване: cs.stackexchange.com/questions/356/… (Зауважимо, що у нас немає ефективних алгоритмів для вирішення важких задач NP з квантовим комп'ютером)
Кен Лі,

Чи можете ви вказати на результати, які викликають у вас цю підозру? Чому квантові біти повинні мати якийсь вплив у цьому сценарії?
Рафаель

Відповіді:


13

У деяких випадках квантові комп'ютери можуть мати певну перевагу перед класичними. Найбільш чудовим прикладом є Алгоритм Шор, який може множити велику кількість за багаточлен (хоча класично найкращий алгоритм займає експоненціальний час). Це повністю розбиває схеми типу RSA, засновані на твердості факторизації.

Це не обов'язково стосується хеш-функцій. Спочатку нам потрібно визначити, що означає зламати хеш-функцію. Один із способів розірвати це називається попередньою атакою зображення : ви даєте мені значення хеша , і мені потрібно знайти повідомлення m таке, що хеш ( m ) = v . Інша атака - це атака зіткнення , в якій ви нічого не даєте, і мені потрібно придумати два різні повідомлення m 1 , m 2, які мають однаковий хеш- хеш ( m 1 ) = хеш ( m 2 )vмхеш(м)=vм1,м2хеш(м1)=хеш(м2). Це простіше, ніж знайти преймідж, оскільки я не пов'язаний з конкретним .v

Що можуть робити квантові комп'ютери? Основний результат - алгоритм пошуку Гровера : метод для квантового комп'ютера для пошуку в несортованій базі даних розміром з часом O ( N(у той час як класично це очікуватиме часуN/2).О(N)N/2

За допомогою алгоритму Гровера, пошук переваги хеш-функції, вихід якої -бітів, займає час O ( 2 k / 2 ) , а не O ( 2 k ) .кО(2к/2)О(2к)

Це проблема ? Не обов'язково. Функції хешу розроблені так, що час вважається "безпечним" (іншими словами, хеш-дизайнери завжди подвоюють k ). Це пов’язано з парадоксом Дня народження, з яким можна знайти зіткнення за часом O ( 2 к / 2 ) класичним комп’ютером.2к/2кО(2к/2)

Приємно в алгоритмі Гровера, що він є оптимальним - кожен інший квантовий алгоритм для пошуку елемента в несортованій базі даних буде працювати за час .Ω(N)

Чи можуть квантові комп'ютери виконувати кращі атаки зіткнення ? Насправді я не впевнений у цьому. Алгоритм Гроувера може бути розширений таким чином, що якщо є елементів (тобто попередніх зображень), час його пошуку скорочується до O ( т. Але це не дає зіткнення - запуск алгоритму знову може повернути той самий преймідж. З іншого боку, якщо ми вибрамоm1навмання, а потім використаємо Алгоритм Гровера, цілком ймовірно, що він поверне інше повідомлення. Я не впевнений, чи це дає кращі атаки.О(N/т)м1

(це дає відповідь на більш загальне питання, не обмежуючи комп'ютер 20 кубітами, що буде недостатньо для того, щоб зламати поточні 1024-бітні хеші).


nitpick: Час виконання GNFS є субекспоненціальним.
CodesInChaos

1

Як я розумію, квантові обчислення мають силу легко зламати сьогоднішні алгоритми хешування. Однак у перспективі ми також зможемо використовувати більш складні алгоритми хешування, і загалом шифрувати простіше, ніж щось розшифрувати. Я думаю, що найбільші проблеми, які слід враховувати, - це коли квантові обчислення доступні лише для декількох вибраних, що дає їм легкий доступ до матеріалів, захищених сьогоднішніми алгоритмами, задовго до того, як більш досконалі алгоритми чи навіть усвідомлення загрози будуть широко розповсюджені.

Дивіться тут для фактично технічного відповіді на питання про переповнення стека.


2
Більшість симетричних крипто-примітивів AFAIK все ще будуть надійними, навіть коли квантові обчислення стануть життєздатними. Він зменшує вдвічі ефективну довжину блоку або ключа в деяких сценаріях, але криптовалюти з поточним рівнем безпеки 256 біт і більше залишаться надійними, оскільки робота порядку 128 біт неможлива. Більшість асиметричних примітивів, які зараз використовуються, повністю зламаються. Але не тільки з 20 кубітами. Для цього вам знадобиться кілька тисяч кубітів.
CodesInChaos
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.