如何计算大数量可以确定流行加密算法的安全性?

Mit*_*rax 24 encryption cryptography brute-force prime-factoring

加密算法的安全性如何依赖于分解大数?

例如,我在一些数学编程论坛上读过,通过使用Quadratic Sieve或General Number Field Sieve,可以在商用硬件上相对容易地计算256位数.

这如何转化为能够打破RSA,AES等算法的安全性?是否可以将数字的长度系数足够?

有没有人知道加密算法和加密算法能否对它有所了解?

小智 9

RSA, cryptoalgorithm,依靠数论,两个大素数特别是乘法,事实上这是很难因素,公钥和私钥来区分.

这是一个关于雅虎答案的问题,有人提供了一些细节:http://answers.yahoo.com/question/index?qid = 20070125183948AALJ40l

它依赖于一些事实:

它不是因为难以分解大数,而是考虑两个大数,其唯一因素本身就是大素数,因为找到这些素数很难.

快速搜索我的书签给了我:rsa加密的数学内容,如果你对它的工作方式感兴趣的话.此外,这里也有一些解释 - 只需重新阅读我的数论理论即可.

  • n = p*q给出一个给定p,q prime的大数.
  • phi(n)=(p-1)(q-1).这是Fermat的小定理的扩展更多关于为什么我们需要这个以及为什么它在我的博客上工作:http://vennard.org.uk/weblog/2010/02/a-full-explanation-of-the-rsa -算法/
  • 这意味着,如果我们选择数字E互质(没有共同的素数因子)到(p-1)(q-1),我们可以找到Es inverse mod phi(n).
  • 我们这样做,我们发现DE = 1(p-1)(q-1)或者更确切地说我们使用euclid最大的公约数算法,扩展版本来解决.

  • 现在,考虑到上述所有情况,如果我们采用T ^ E(pq),我们得到C.但是,如果我们采用(T ^ E)^ D(pq),我们再次得到T.

AES不一样 - 它不是公钥加密.AES使用一个密钥并在两个方向上使用它,加密和解密.该过程基本上很难撤消,而非像哈希,但设计为可逆的.然而,它不依赖于将大量因素分解为其安全性的素数; 它完全依赖于密钥的强度和无法推导出算法中的密钥或给定已知明文和算法的密钥.

维基百科有一篇关于高级AES的好文章,它有一个很好的链接,向你展示它是如何工作的 - 见这里这里.我特别喜欢后一个链接.

  • 我认为加密算法肯定与编程有关. (4认同)