Це по суті сфера класів складності обчислювальної техніки. Наприклад, клас BQP може грубо описати як набір усіх проблем, які можна ефективно вирішити на квантовому комп'ютері. Складність класів складності полягає в тому, що важко довести розділення між багатьма класами, тобто існування проблем, які є в одному класі, а не в іншому.
У певному сенсі достатньо, щоб можна було сказати, "якщо цей квантовий алгоритм не може його порушити, це безпечно", просто потрібно використовувати правильний алгоритм. Вам потрібен алгоритм, повний BQP, такий як пошук коренів полінома Джонса - будь-який квантовий алгоритм можна подати як екземпляр алгоритму, повного BQP. Однак, яким чином цей алгоритм може бути використаний для розтріскування, зовсім незрозуміло і нетривіально. Недостатньо, щоб побачити, що ти не можеш безпосередньо набити грубі речі. Отже, такий підхід, мабуть, не так корисний.
Що ми хочемо від постквантового крипто-сценарію? Нам потрібно:
- функція у= f( х ) що ми можемо легко обчислити для цілей шифрування.
- для якого зворотний, f- 1( у) неможливо легко обчислити на квантовому комп'ютері, тобто клас задачі знаходиться поза BQP.
- дали таємницю, z, існує класично ефективно обчислювана функція г( у, z) = х, тобто з додатковою інформацією, функцією f(x)можна перевернути. Це так, що потрібна людина (яка має приватний ключ,z) може розшифрувати повідомлення.
Ця остання пуля - це (по суті) визначення класу складності NP: проблеми, для яких може бути важко знайти рішення, але для яких рішення легко перевіряється, коли дається доказ (відповідає приватному ключу в нашому випадку) .
Отже, те, що ми шукаємо, - це проблеми в NP, а не в BQP. Оскільки ми не знаємо, чи NP = BQP, ми не знаємо, що такі речі існують. Однак існує хороший шлях для пошуку шляхів вирішення: ми розглядаємо проблеми, пов'язані з NP. Це найскладніші випадки проблем в НП, тож якщо BQP≠NP (що, як вважають, так), проблеми, пов'язані з NP, звичайно не є в BQP. (Якщо проблема є повною для класу складності, це означає, що якщо ви можете її ефективно вирішити, ви можете ефективно вирішити всі екземпляри класу.) Отже, це своєрідне керівництво щодо того, де можна шукати постквантальні алгоритми .
Однак додатковою тонкощі, яка ускладнює питання, є приблизно (я не експерт), що класи складності говорять про найгіршу складність випадку, тобто для заданого розміру проблеми, це про те, наскільки важким є найважчий можливий екземпляр проблеми. Але може бути лише один такий екземпляр проблеми, що означатиме, що якщо ми виправимо розмір проблеми (як це стандартно, наприклад, ви можете говорити про 1024-бітну RSA; 1024 біт - це розмір проблеми), існує лише один приватний ключ. Якщо ми це знаємо, підслуховувач може просто використовувати цей приватний ключ для розшифровки повідомлень. Отже, нам насправді потрібно, щоб це обґрунтування обчислювальної складності застосовувалося для великої частки можливих вкладів. Це втягує вас у світ середньої складності, де, як я розумію, робити такі твердження стає набагато важче.
Це може допомогти порівняти RSA, криптосистему з відкритим ключем, і ігнорувати існування квантових комп'ютерів. Він ґрунтується на складності множення великих складових чисел. Ця проблема не є (вважається, що) P, тому вважається, що хакеру з класичним комп'ютером важко отримати відповідь. Тим часом він знаходиться в NP, тому що рішення легко перевірено (якщо вам надано один фактор, ви можете легко перевірити, що це коефіцієнт). Це означає, що він може бути розшифрований за допомогою класичного комп’ютера законним одержувачем.