你真的可以忽略 Shor 算法所需的量子處理步驟嗎?
對RSA 密鑰長度與 Shor 算法的問題的回答表明,例如 2048 位 RSA 加密將被使用 Shor 算法的 4099 量子位量子電腦輕鬆破解(該算法的最著名實現需要 2n+3 個量子位)。
這是真的嗎?如果我理解正確,所需的門數(邏輯上的量子操作)大約是 log(2^2048)^2×log(log(2^2048))×log(log(log(2^2048)) ) 大約為 2.9×10⁷。考慮到即使是經典電腦也無法使用單個輸入數據執行任何具有 2.9×10⁷ 門的操作,因此假設量子電腦可以在不平凡的時間內操作如此大量的門真的沒有意義。
我假設量子電腦要執行一個執行 Shor 算法的步驟,需要(邏輯上)通過所有這些門傳遞一個輸入,這類似於經典電腦執行足夠的電腦程式碼以通過 2.9×10⁷ 門傳遞一個 2048 位輸入. 因為資訊的傳播速度不能超過光速,而且門的維度不為零,所以這不可能在微不足道的時間內發生。如果你在量子電腦中使用光子作為量子比特,波長可能會為門設置最小尺寸,而不管製造能力如何。
如果您需要在門之間進行任何糾錯,這將需要額外的空間,因此也會增加延遲。
此外,如果我理解正確,要使用 Shor 算法實際分解大數字,您需要使用經典電腦生成隨機猜測,然後 Shor 算法將使用該猜測來發出可能需要計算因子的數據。對於 2048 位 RSA 中使用的因數分解,您實際上平均需要多少猜測?
是否有關於大型物理量子電腦試圖執行 Shor 算法以分解大數的潛在實際執行時間的研究?這真的支持您可以簡單地忽略處理時間而不管數字大小的解釋嗎?
我假設要讓量子電腦執行一個執行 Shor 算法的步驟,需要(邏輯上)通過所有這些門傳遞一個輸入
您誤解了“門操作”所衡量的內容。量子電腦不會 $ 2.9 \times 10^7 $ 門(並且所有數據都通過該組門重複設置)。
相反,量子電腦需要執行總共 $ 2.9 \times 10^7 $ 門操作;顯然,沒有必要同時執行所有這些(事實上,對於 Shor 的,我們不能,既因為不可複製定理禁止生成量子比特的副本以發送到獨立的門,而且更務實的原因是一些門操作的輸入取決於之前的門操作)。
至於這些如何 $ 2.9 \times 10^7 $ 門操作映射到硬體門,好吧,我們不太可能有 $ 2.9 \times 10^7 $ 物理門;在計算過程中,一些硬體門可能會被多次重用(就像經典電腦執行 RSA 操作時,相同的門被重用於實現各種模乘運算)。
如果您需要在門之間進行任何糾錯,這將需要額外的空間,因此也會增加延遲。
是的,我們知道;這 $ 2.9 \times 10^7 $ 上圖反映了邏輯量子比特;這將轉化為更多的物理量子比特——增加的大小將取決於所使用的量子糾錯碼(這將取決於物理量子比特操作的實際錯誤率等)。
對於 2048 位 RSA 中使用的因數分解,您實際上平均需要多少猜測?
以極高的機率,一個。量子電腦找到的順序 $ g $ 模組 $ n $ ,也就是值 $ x $ 在哪裡 $ g^x \equiv 1 \bmod n $ . 除非順序 $ g $ 關於兩者 $ p $ 和 $ q $ (主要因素)異常小(如果 $ g $ 是隨機選擇的),該值 $ x $ 可用於快速因子。