Bu aslında hesaplama karmaşıklığı sınıflarının alanıdır. Örneğin, BQP sınıfı kabaca bir kuantum bilgisayarda etkili bir şekilde çözülebilen tüm problemler kümesi olarak tanımlanabilir. Karmaşıklık sınıflarıyla ilgili zorluk, birçok sınıf arasındaki ayrımı kanıtlamanın zor olmasıdır, yani bir sınıfta olan ancak bir başka sınıfta olmayan sorunların varlığı.
Bir anlamda, "bu kuantum algoritması onu kıramazsa, güvenlidir" diyebilmek yeterlidir, sadece doğru algoritmayı kullanmanız gerekir. Jones polinomunun köklerini bulmak gibi bir BQP tam algoritmasına ihtiyacınız var - herhangi bir kuantum algoritması bir BQP tam algoritmasının bir örneği olarak kullanılabilir. Bununla birlikte, bu algoritmanın çatlama için nasıl kullanılabileceği tamamen belirsiz ve önemsiz değildir. Kuvvetlere doğrudan kaba kuvvet uygulayamayacağınızı görmek yeterli değildir. Yani, bu yaklaşım muhtemelen çok yararlı değildir.
Kuantum sonrası kripto senaryosundan ne istiyoruz? İhtiyacımız var:
- bir işlev y= f( x ) şifreleme amacıyla kolayca hesaplayabileceğimizi
- bunun için ters, f- 1( y) bir kuantum bilgisayarda kolayca hesaplanamaz, yani problem sınıfı BQP'nin dışındadır.
- biraz sır verdik, z, klasik olarak verimli bir şekilde hesaplanabilir bir fonksiyon var g( y, z) = x, yani ek bilgilerle, işlev f( x )ters çevrilebilir. Böylece doğru kişi (özel anahtarı olan,z) mesajın şifresini çözebilir.
Bu son madde (esas olarak) NP karmaşıklık sınıfının tanımıdır: bir çözüm bulmanın zor olabileceği, ancak bir kanıt verildiğinde bir çözümün kolayca doğrulanabileceği (bizim durumumuzdaki özel anahtara karşılık gelen) sorunlar .
Yani peşinde olduğumuz şey NP'deki problemler ama BQP'de değil. NP = BQP olup olmadığını bilmediğimizden, bu tür şeylerin var olduğunu bilmiyoruz. Bununla birlikte, çözümlere bakmak için iyi bir yol var: NP-komple problemlerini düşünüyoruz. Bunlar NP'deki problemlerin en zor örnekleridir, bu yüzden BQP≠NP (yaygın olarak böyle olduğuna inanılmaktadır), NP-tam problemleri kesinlikle BQP'de değildir. (Eğer bir karmaşıklık sınıfı için bir problem tamamlanmışsa, bu onu verimli bir şekilde çözebilirseniz, sınıfın tüm örneklerini verimli bir şekilde çözebileceğiniz anlamına gelir.) Yani, bu kuantum sonrası algoritmaları nerede arayabileceğine dair bir rehberliktir. .
Bununla birlikte, konuları karmaşıklaştıran ek incelik, kabaca (bir uzman değilim) karmaşıklık sınıflarının en kötü durum karmaşıklığı hakkında konuşmasıdır, yani belirli bir sorun boyutu için, sorunun en zor örneğinin ne kadar zor olduğu ile ilgilidir. Ancak böyle bir sorun örneği olabilir, yani sorun boyutunu düzeltirsek (standart olduğu gibi, örneğin 1024 bit RSA hakkında konuşabilirsiniz; 1024 bit sorun boyutu), sadece bir özel anahtar var demektir. Bunu bilersek, bir kulak misafiri mesajların şifresini çözmek için bu özel anahtarı kullanabilir. Dolayısıyla, aslında bu hesaplama karmaşıklığı muhakemesinin olası girdilerin büyük bir kısmı için geçerli olmasına ihtiyacımız var. Bu sizi anladığım kadarıyla böyle ifadeler yapmanın çok daha zorlaştığı ortalama bir durum karmaşıklığı dünyasına götürür.
Bir ortak anahtar kripto sistemi olan RSA ile bir karşılaştırma yapmak ve kuantum bilgisayarların varlığını görmezden gelmek yardımcı olabilir. Büyük kompozit sayıları çarpanlarına ayırma zorluğuna dayanır. Bu problem P'de (olduğuna inanılmamaktadır), bu nedenle klasik bir bilgisayarla bir hackerın cevaba ulaşmasının zor olduğuna inanılmaktadır. Bu arada, NP'dedir, çünkü çözüm kolayca doğrulanır (eğer bir faktör verilirse, bunu bir faktör olarak kolayca kontrol edebilirsiniz). Bu, doğru alıcı tarafından klasik bir bilgisayar kullanılarak şifresinin çözülebileceği anlamına gelir.