量子密码学与SHOR分解算法
1. 量子密码学与大数分解的挑战
在密码学中,大数分解是一个关键问题。例如,RSA加密算法的安全性就基于分解大整数的困难性。以RSA - 768的分解为例,它是一个非常大的数:
40479274737794080665351419597459856902143413
= 33478071698956898786044169848212690817704794983
71376856891243138898288379387800228761471165253
1743087737814467999489
× 36746043666799590428244633799627952632279158164
34308764267603228381573966651127923337341714339
6810270092798736308917
目前,分解任意大整数 (N) 被认为是最好的经典方法是(通用)数域筛法(NFS)。该方法所需的计算步骤 (S_{NFS}(N)) 随着 (N) 趋于无穷大时的增长速率为:
[S_{NFS}(N) \in O\left(\exp\left(\left(\frac{64}{9} + o(1)\right)^{\frac{1}{3}} (\log_2 N)^{\frac{1}{3}} (\log_2 \log_2 N)^{\frac{2}{3}}\right)\right)]
即使有时使用数百台计算机,分解RSA - 768也几乎需要三年的实际时间。使用单个2.2 GHz、2 GB RAM的Opte