此前我们一直介绍了很多RSA算法、DES算法和MD5算法,但是如今又有后起之秀了,它就是秀尔算法。
RSA加密曾被视为最可靠的加密算法,直到秀尔算法出现,打破了RSA的不灭神话。

RSA加密 VS 秀尔算法
作为RSA加密技术的终结者——“太多运算,无法读取”的秀尔算法(Shor’s algorithm)不是通过暴力破解的方式找到最终密码的,而是利用量子计算的并行性,可以快速分解出公约数,从而打破了RSA算法的基础(即假设我们不能很有效的分解一个已知的整数)。同时,秀尔算法展示了因数分解这问题在量子计算机上可以很有效率的解决,所以一个足够大的量子计算机可以破解RSA。
RSA加密“曾经”之所以强大,是因为它对极大整数做因数分解的难度决定了RSA算法的可靠性。将两个质数相乘是件很容易的事情,但要找到一个庞大数字的质因子却非常困难。这便是大量现代科技的依靠之处,RSA加密就是凭借其简洁性迅速风靡。
然而,有一种技术可以让RSA加密无用武之地。秀尔算法可以破解RSA,但是怎样才能让它真正见效呢?
我们这里并非建议你同时尝试所有可能的质因子。
而是使用(相对)简洁的语句:
如果我们快速找到下面这个周期函数的周期,
f(x) = m^x (mod N)
我们便可以破解RSA加密。
秀尔五步走
那么,秀尔算法究竟是怎样工作的呢?在秀尔五步法中,只有一步需要是需要用到量子计算机的,其他的步骤则都可以采用传统方法解决。
第一步:
使用传统最大公约数分解(gcd)算法,也就是辗转相除法。N是你需要尝试的因子,m则是一个小于N的随机正整数。
如果gcd(m,N)=1,则继续。一旦你使用gcd找到一个因子,你便能获得一个非凡因子,然后结束。
第二步:
找到周期 P
m mod N, m^2 mod N, m^3 mod N
这是使用量子计算的一步。
第三步:
如果周期P是奇数,回到第一步,选择另一个随机整数。如果不是,继续下一步。
第四步:
检验
![]()
如果成立,则继续第五步;反之,回到第一步。
第五步:
解

解得一个非凡素因数N的值,然后你便能破解RSA加密了。
第二步是怎样实现的?
然而,量子计算机是如何找到函数周期的?这又为什么如此重要?
我们来看一下周期 P :
m mod N, m^2 mod N, m^3 mod N
(由于这是一个指数函数,我们可以将一个复杂的质数转换成双曲正弦、余弦然后得到周期)
这个发现周期的过程需要依赖量子计算机同时计算许多状态的能力,也就是状态的“叠加”,因此我们能找到方程的周期。
我们需要这么做:
1、应用Hadamard gate来创建一个量子叠加态
2、量子转换使方程生效
3、执行量子傅立叶变换
与传统情况类似,在这些转化之后,一个测量值将会产生一个近似方程周期的值(你可以获得“波峰”,就像傅立叶变换中的,而准确性会更高一点)。使用量子傅立叶变换,我们能够解决排序和因数问题,这二者相同。量子傅立叶变换可以让一台量子计算机进行相位估计(酉算子特征值的近似值)。
当你完成量子部分(第二步)的时候,你可以检查一下周期的有效性,然后使用另一个传统的最大公约数算法得到密钥的质因素。
有趣的是,由于这项技术并不是在于找到所有潜在质因数,而是找到潜在周期,你就不必尝试很多随机数直到找到一个成功的质因数N。如果P是奇数,那你不得不回到第一步,这里

K是一个不同于N的质因素。因此,即使你加倍密钥长度(N),寻找质因数也不会出现放缓的情况。RSA是不安全的,同样加倍密钥长度也不能帮你抵御量子计算的汹涌来袭,而保障安全。
“破解RSA-2048(2048-bit)的密钥可能需要耗费传统电脑10亿年的时间,而量子计算机只需要100秒就可以完成。”
——Dr. Krysta Svore, 微软研究院
量子傅立叶变换被用于建立量子线路,使得秀尔算法的物理实现成了量子计算机最为轻松的任务之一。
量子傅立叶变换:青出于蓝
秀尔算法的核心是发现顺序,这样便可以减少阿贝尔的隐子群问题,使用量子傅立叶变换便可以解决。——NIST 量子世界
量子傅立叶变换是许多量子算法的关键所在。它并不加速寻找传统傅立叶转变,但是能够在一个量子振幅内执行一个傅立叶变换。在一台量子计算机上可以指数增长般快速处理量子傅立叶变换。虽然超过了直接映射经典傅立叶变换的范畴,量子计算机也可以做其他的事。例如,解决隐子群问题(也就是解决离散对数问题),或是计数问题(解决了这个问题就可以解决现代密码学中很多其他形式的密码)。更重要的是,量子傅立叶变换可以应用到机器学习、化学、材料科学或者模拟量子系统。
秀尔算法中只有一个步骤是需要在量子计算机上完成的,其他的都可以在普通的超级计算机上完成。量子计算机运行完子程序后就会将结果返回给超级计算机让它继续完成计算过程。量子计算机可能永远不会是单独存在的,而是一直和超级计算机配合执行任务,经过这样的配合它们就可以破解RSA密钥。
因为篇幅有限,很多数学细节和证明过程就不再赘述了,如果你对这些数学解释感兴趣,如果你具备线性代数、群论、高等数学的知识,你可以看看这些:
Quantum Computer Science
Quantum Information and Quantum Computation
NIST Quantum Zoo — 一个所有量子算法的列表
“我拿手机拍屏你总管不着吧?”:安企神软件实测电脑屏幕防止拍照动态水印,咔嚓一下姓名工号全现形!
盲目跟风“末位淘汰”差点赔到破产:深度拆解企业怎么规避违法辞退员工风险的全链路技巧!
从天天被勒索病毒攻击到零事故:一家中型制造厂的“智慧企业信息安全运营方案”实战!
离职会计私自拷走三年底账要挟公司:如果重来一次,我第一天就死磕“财务文件加密”!
几十号人在工位上“带薪摆烂”:局域网企业管理软件一开,效率直接原地起飞!
“为什么公司电脑被限制浏览网页?”老板当面霸气回应:因为我们要保住全员的饭碗!
销冠被辞当场发飙要砸电脑拔硬盘:后台“远程一键锁定员工电脑”,全场瞬间安静了
假如时光倒流,我绝不会在“怎么给电脑文件加密”上拖延一秒!
企业数据防泄露措施有哪些?
企业数据防泄露措施有哪些?企业数据防泄露措施有哪些?找谁做?随着信息技术的不断发展,企业数据泄露事件频繁发生,给企业带来了巨大的经济损失和声誉损失。为了保护企业的核心数据,企业需要采取一系列的数据防泄露措施。本文将介绍企业数据防泄露的措施,帮助企业更好地保护数据安全。一、数据加密数据加密是一种常用的数据防泄露措施。通过...
最强干货:企业数据防泄密的26种实战方法
防止内部泄密的方法1、教育员工:不要低估员工教育的力量。CoSoSys的研究显示,60%的员工不知道哪些公司的数据是机密的。因此,他们可能会意外泄漏或使用不当。2、签署法律文件:很多企业在员工入职的时候,都会签署保密协议,尤其是开发人员这样的涉密人员,通过这种方式,可以一定程度上的防止员工主动泄密。3、文件加密:文件加...
如何规范上班时员工行为?
很多公司员工上班期间会打游戏、刷剧、看电影、炒股、干一些与工作无关的事,这极大的影响了公司的业绩和员工的工作效率和氛围。那么应该如何规范员工的行为呢?1、利用安企神软件对员工的办公电脑打游戏、刷剧、看电影、炒股等行为进行禁止。设置方法:打开策略模板管理 > 应用程序管控 > 然后勾选【开启程序黑白名单】然后...
四种屏幕防拍照、截屏、打印等数据泄露水印解决方案
信息媒体的数字化为信息的存取提供了极大的便利性,同时也显著提高了信息表达的效率和准确性。特别是随着计算机网络通讯技术的发展,数据的交换和传输变成了一个相对简单的过程,人们借助于计算机、数字扫描仪、打印机等电子设备可以方便、迅速地将数字信息传输到所期望的任何地方。但随之而来的副作用是这些数字形式的数据文件在流转过程中安全...
商业机密用u盘存储安全吗?
不安全商业机密用u盘存储是不安全的,商场如战场,如今的商业战场竞争越来越激烈,很多公司都会不遗余力的窃取同行的商业机密,而很多的管理者会将企业的重要商业机密存储在u盘中,今天给大家讲一下如何将商业机密更安全的存储起来。1、U盘内数据加密利用安企神可以对公司的机密文件进行加密,然后将加密后的机密文件移到u盘里,这样U盘内...