数学:因式分解
省略计算素数的方法和因式分解方法的细节。
为什么要费心去因式分解呢?
它有哪些应用?
Omitting details of methods to calculate primes, and methods of factorisation.
Why bother to factorise ?
What are its applications ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
哇,这个帖子里有这么多战斗。
讽刺的是,这个问题有一个重要的有效答案。
因式分解实际上在加密/解密算法中大量使用,以至于 RSA 定期进行竞赛,其中的任务是对某些非常大的素数倍数的大数进行因式分解。
反过来,这是因为一些加密/解密算法基于分解需要很长时间的前提,这(据称)使得破解某些加密/解密算法变得困难和/或不切实际,因为假设黑客/破解者无法访问公钥/私钥。
然后可以使用分解算法来验证任何给定的加密/解密算法的强度。
Wow, so much fighting in this thread.
Ironically, this question HAS a major valid answer.
Factorization is actually used heavily in encryption/decryption algorithms, so much so that the RSA regularly conducts competitions wherein the task is to factorize certain large numbers that are multiples of very large prime numbers.
This is, in turn, because several encryption/decryption algorithms are based on the premise that factorization takes a very long time, which (supposedly) makes it difficult and/or impractical to crack certain encryption/decryption algorithms given the assumption that the hacker/cracker does not have access to public/private keys.
Factorization algorithms can then be used to verify just how strong any given encryption/decryption algorithm is.
RSA/DAS 等非对称加密基于这样一个事实:分解是一件非常困难的事情。 如果我给你一个数字,打印出来时有整张报纸那么大,并告诉你“这个数字是由两个质数相乘产生的。现在请分解它”......你认为你可以吗? 相信我,任何已知的方法都将花费很长时间。 没有有效的方法可以做到这一点,而不需要大量的 CPU 时间(几个世纪)或大量的内存(比世界上所有互联网服务器拥有的存储空间还要多)。 如果您找到一种简单的方法来分解这么大的数字,那么您就会破坏电子邮件签名和 SSL (HTTPS)。
然而,还有其他与因式分解相关的任务。 因式分解不仅仅与数字有关。 有时它是关于“为什么多项式是另一个多项式的因子”。 因此,数学任务可能依赖于因式分解,并且可以通过它解决很多问题。 因此,有效的因式分解具有很大的价值。 甚至矩阵也可以因式分解。
Asymetric encryption as RSA/DAS bases on the fact, that factorization is a very hard thing. If I give you a number, that when printed out is as large as a whole newspaper page and tell you "This number has been generated by multiplying two prime numbers. Now please factorize it"... do you think you can? Trust me, any known way to do this will take an eternity. There is no effective way of doing it without either needing tons of CPU time (centuries) or tons of memory (more storage than all Internet servers on the world have together). If you find an easy way to factorize numbers that large, you break e-mail signing and SSL (HTTPS) for example.
However, there are other tasks related to factorization. Factorization is not only about number. Sometimes it's about "why polynomials are factors of another polynomials". So may mathematical tasks depend on factorization and so many problems can be solved by it. Thus effective factorization is of great value. Even matrices can be factorized.
它可用于破解某些类型的加密(如果它们的密钥足够小)。
对于某些类型的科学软件,您还需要它。
另一种应用是回答 ProjectEuler 问题。
It can be used to crack some types of encryption (if they key was small enough).
You would also need it for some types of scientific software.
One more application is to answer ProjectEuler Questions.