Ini pada dasarnya adalah bidang kelas kompleksitas komputasi. Sebagai contoh, kelas BQP dapat digambarkan secara kasar sebagai himpunan semua masalah yang dapat diselesaikan secara efisien pada komputer kuantum. Kesulitan dengan kelas kompleksitas adalah sulit untuk membuktikan pemisahan antara banyak kelas, yaitu adanya masalah yang ada di satu kelas tetapi tidak yang lain.
Dalam arti tertentu, sudah cukup untuk bisa mengatakan "jika algoritma kuantum ini tidak dapat memecahkannya, itu aman", Anda hanya perlu menggunakan algoritma yang tepat. Anda memerlukan algoritme lengkap BQP seperti menemukan akar polinomial Jones - algoritme kuantum apa pun dapat digunakan sebagai contoh algoritme lengkap BQP. Namun, bagaimana algoritma itu dapat digunakan untuk cracking sepenuhnya tidak jelas dan non-sepele. Tidaklah cukup untuk melihat bahwa Anda tidak dapat secara langsung memaksa sesuatu. Jadi, pendekatan itu mungkin tidak begitu membantu.
Apa yang kita inginkan dari skenario crypto pasca-kuantum? Kita butuh:
- y= f( x )
- f- 1( y)
- zg( y, z) = xf( x )z
Peluru terakhir ini (pada dasarnya) adalah definisi dari NP kelas kompleksitas: masalah yang mungkin sulit ditemukan solusinya, tetapi yang solusinya mudah diverifikasi ketika diberi bukti (sesuai dengan kunci pribadi dalam kasus kami) .
≠
Namun, kehalusan tambahan yang memperumit masalah adalah kira-kira (saya bukan ahli) bahwa kelas kompleksitas berbicara tentang kompleksitas kasus terburuk, yaitu untuk ukuran masalah yang diberikan, ini tentang seberapa keras contoh tersulit dari masalah tersebut. Tetapi mungkin hanya ada satu contoh masalah seperti itu, yang berarti bahwa jika kita memperbaiki ukuran masalah (seperti standar, misalnya Anda mungkin berbicara tentang 1024 bit RSA; 1024 bit adalah ukuran masalah), hanya ada satu kunci pribadi. Jika kita tahu itu, penyadap bisa menggunakan kunci pribadi itu untuk mendekripsi pesan. Jadi, kita benar-benar perlu bahwa penalaran kompleksitas komputasi ini berlaku untuk sebagian besar input yang mungkin. Ini membawa Anda ke dunia kompleksitas kasus rata-rata di mana, seperti yang saya mengerti, menjadi lebih sulit untuk membuat pernyataan seperti itu.
Mungkin membantu untuk membuat perbandingan dengan RSA, sistem crypto kunci publik, dan mengabaikan keberadaan komputer kuantum. Ini didasarkan pada kesulitan memfaktorkan bilangan komposit besar. Masalah ini tidak (diyakini) di P, sehingga diyakini sulit bagi peretas dengan komputer klasik untuk mendapatkan jawabannya. Sementara itu, itu dalam NP karena solusinya mudah diverifikasi (jika Anda diberi satu faktor, Anda dapat dengan mudah memeriksa itu faktor). Itu berarti dapat didekripsi menggunakan komputer klasik oleh penerima yang sah.