的 量子计算机等都是谎言。我不相信这些科幻杂志。 强> 事实上,rsa系统是基于两个素数和它们的多重化。 p1,p2是巨大素数p1xp2 = N模数。 rsa系统是 像那样 选择一个素数。可以小E的公钥 (P1-1)*(P2-1)= R 找到一个使得E * D = 1 mod(R)的D数 我们公开分享(E,N)数据作为公钥 我们安全地保存(D,N)私人。
的 要解决这个Rsa系统,需要找到N的素因子。 强> * 宇宙的质量接近10 ^ 53千克 * 电子质量为9.10938291×10 ^ -31千克 如果我们将宇宙划分为电子,我们可以产生10 ^ 84个电子。 电子的速度比光速慢。它的移动频率可以是10 ^ 26 的 如果有人从所有宇宙质量产生电子大小平行的rsa素因子探测器。 所有宇宙都可以处理(10 ^ 84)*(10 ^ 26)= 10 ^ 110个/秒。 强>
rsa限制了替代素数的位数。也许4096位 4096位rsa有10 ^ 600个可能的素数给蛮力。 所以你的宇宙质量量子求解器需要在10 ^ 500年内进行测试。
的 rsa vs宇宙质量子计算机 1 - 0 强>
也许量子计算机可以打破64/128位密码。因为128位密码有10 ^ 39个可能的强力节点。
甚至更奇怪的是。是Grover的算法。作为输入,我们在这里得到一个未排序的整数数组,其中arraylength = n。什么是算法的预期运行时间,它找到此数组的最小值?通常,我们至少要检查数组的每个1..n元素,从而产生n的预期运行时间。量子计算机不是这样,在量子计算机上我们可以在最大根(n)的预期运行时间内解决这个问题,这意味着我们甚至不必检查每个元素来找到有保证的解决方案......
几乎所有的公钥加密(例如RSA)都完全基于数学,依赖于难度 因式分解 要么 离散对数 。这些都将被有效地打破使用 量子计算机 (虽然即使在CS和数学学士学位,并且已经学习了几个关于量子力学的课程,我仍然不理解算法)。
的 但是,散列算法(例如SHA2)和对称密钥加密(例如AES) 强> ,主要基于 扩散和混乱 , 的 仍然安全。 强>
量子计算机可以实现 Shor的算法 这可以快速执行素数分解。加密系统建立在假设大型素数不能在经典计算机上合理的时间内考虑的基础上。
首先,量子计算仍然处于理论阶段之外。许多研究正在进行,一些实验性的量子电池和电路,但“量子计算机”尚不存在。
其次,阅读维基百科文章: http://en.wikipedia.org/wiki/Quantum_computer
特别是,“通常,具有n个量子位的量子计算机可以同时处于多达2 ^ n个不同状态的任意叠加(这与在任何时候只能处于这两个状态之一的普通计算机相比)。“
使密码学安全的原因是使用加密密钥,这些加密密钥是非常长的数字,需要非常长的时间来考虑它们的组成素数,并且密钥足够长以至于蛮力尝试尝试每个可能的密钥值也需要很长时间才能完成。
由于量子计算可以(理论上)代表少数量子位单元中的许多状态,并同时对所有这些状态进行操作,因此似乎有可能使用量子计算来执行蛮力尝试 - 尽可能 - 密钥值在很短的时间内。
如果这样的事情是可能的,那么它可能是我们所知道的密码学的终结。
在这一点上它是高度理论化的。 Quantum Bits可能提供破解加密的能力,但显然它还没有达到这一点。
在量子水平上,管理行为的法则与宏观层面不同。
要回答您的问题,首先需要了解加密的工作原理。
在基本级别,加密是将两个极大的素数相乘的结果。这个超大的结果可以被1,本身和这两个素数整除。
打破加密的一种方法是通过进行素数因子分解来强力猜测两个素数。
这种攻击很慢,并且通过选择越来越大的素数来阻止这种攻击。你会听到40位,56位,128位以及现在256,512位以上的关键尺寸。这些尺寸对应于数字的大小。
蛮力算法(简化术语)可能看起来像
for(int i = 3; i < int64.max; i++) { if( key / i is integral) { //we have a prime factor } }
所以你想要暴力尝试素数;好吧,用一台电脑需要一段时间。因此,您可以尝试将一堆计算机组合在一起进行分割和征服。这可行,但对于非常大的按键仍然很慢。
量子位如何解决这个问题,它们同时是0和1。所以说你有3个量子比特(对你来说不小的壮举)。
使用3个qbits,您的程序可以同时具有0-7的值
(000,001,010,011等)
,其中包括同时的素数3,5,7。
所以使用上面的简单算法,而不是每次增加1,你可以只划分一次,然后检查
0,1,2,3,4,5,6,7
一切都在同一时间。
当然,量子比特还没有达到这一点;在该领域仍有许多工作要做;但这应该会让你有一个想法 如果 我们可以使用quanta编程,我们如何破解加密。
在最基本的术语中,正常的无量子计算机通过操作位(开启或关闭状态)使用布尔逻辑来工作。你可以非常快速地完成很多很多工作,你可以解决一类可计算的问题。
然而,它们是“速度限制”,即称为计算复杂性。这在铺设方式中意味着对于给定算法,您知道运行算法所花费的时间(以及运行算法所需的存储空间)具有最小约束。例如,O(n ^ 2)的算法意味着对于n的数据大小,它将需要n ^ 2个时间来运行。
然而,当你在qbits上进行操作时,当我们有qbits(量子位)时,这种情况会超出窗口,这些qbits可能具有“介于”值之间。具有非常高的计算复杂度的算法(如分解大量数据,破解许多加密算法的关键)可以以低得多的计算复杂度完成。这就是量子计算能够比普通计算机更快地破解加密流的原因。
该 维基百科文章 做得很好解释这一点。
简而言之,如果你有N位,你的量子计算机可以处于2 ^ N个状态 同时 。在概念上类似于使用传统位进行2 ^ N CPU处理(尽管不完全相同)。