91的质因数是什么 质因数是什么 什么是质因数

数学来源于生活 。我们所学的数学知识,都是直接或间接地为实际服务的 。大家都知道,小学学分解质因数是为了学习分数的需要 。因为分数的加减法要用到通分,乘除法要用到约分,而通分、约分需要用到分解质因数 。除此而外,分解质因数还有什么用,大家可能就不知道了 。前几年,美国数学家把分解质因数问题应用于密电码,为国家安全保密工作找到了一条新的途径 。

91的质因数是什么 质因数是什么 什么是质因数

文章插图
我们需要先讲一点密码学 。把明文变换成密文,需要两个元素:变换的规则和变换的参数 。前者是编码的算法,例如"在英文字母表上前进x步" 。后者是密钥,例如上述算法中的x这个数 。如果取x = 1,明文的"fly at once"(立即起飞)就会变成密文的"gmz bu podf" 。
最容易想到的保密框架,是通信双方都知道同一组密钥,A用它将明文转换成密文,B用它将密文变换回原文 。《红灯记》、《潜伏》等谍战片中情报人员舍死忘生、殚精竭虑保护和争夺的密码本,就是密钥 。由于通信双方都知道同一组密钥,所以这种方法叫做"对称密码体制" 。对称密码体制究竟安全不安全呢?回答是:密码本身可以是安全的,但密钥的分发不安全 。
91的质因数是什么 质因数是什么 什么是质因数

文章插图
在易守难攻的数学问题中,"因数分解"就是一个典型例子 。目前世界最常用的密码系统之一,就是基于因数分解的RSA(这是三位发明者的首字母缩写)公钥密码体制 。
把两个质数相乘,这是很容易的事 。可是,反过来,要想把一个相当大的数分解为质因数的乘积,就不那么简单了 。例如,计算29与31的乘积,这是不难的,答案是899 。但反过来,若要把899分解为质因数,就不那么容易了 。至于要分解更大的数,就更困难了 。下面是分解几个大数的质因数所需用的时间:
91的质因数是什么 质因数是什么 什么是质因数

文章插图
由表中可以看出,用笔算试除法来分解一个50位的大数,竟需要约100亿年的时间,这实际上是不可能做到的事 。而用电子计算机,只要15秒钟就可以完成 。可是,也应该看到,对于更大的数,即使用电子计算机,目前也是很费事费时的 。例如一个1000位大的大数进行分解,就需用连续一星期的时间 。至于更大的数,那困难就更大了 。大数难分解,国家安全机关就把这种"难"的原理应用到密电码上,为国家的安全保卫工作立了大功,且被银行和工矿企业广泛应用 。
原来,在具体编码时,是用01、02、03、04、……09、10、11、……26分别表示英文的26个字母,将电文中的单词按字母的顺序"翻译"成数,然后按照一定的方法进行编码 。由于人们只知道大数(即质因数的乘积),而不知道这些质因数,因此并不知道电码的秘密 。唯一能破译这种密电码的是掌握质因数这个"谜底"的人 。
目前世界最常用的密码系统之一,就是基于因数分解的RSA(这是三位发明者的首字母缩写)公钥密码体制 。
91的质因数是什么 质因数是什么 什么是质因数

文章插图
解释一下,因数分解指的是把一个合数分解成两个质因数的乘积,例如21 = 3 × 7 。分解21当然轻而易举,你不管三七二十一就能分解它 。不过,来分解2^67 – 1 = 147,573,952,589,676,412,927看看?这是个18位数 。1644年(李自成进北京那一年),人们以为它是一个质数 。直到1903年(清朝都快亡了),人们才发现它是一个合数,等于193,707,721 × 761,838,257,287 。分解这个数,几乎花了一个朝代的时间!
为什么会这么困难呢?用计算机科学的语言说,随着位数的增加,因数分解的计算量是"指数增长"的,而指数增长是一种非常快的增长,比"多项式增长"要快得多 。
91的质因数是什么 质因数是什么 什么是质因数

文章插图
具体一点说,如果计算机一秒做1012次运算,那么分解一个300位的数字需要15万年,分解一个5000位的数字需要50亿年,——地球的年龄也不过是46亿年而已!
91的质因数是什么 质因数是什么 什么是质因数

文章插图
公钥密码体制的安全性,依赖于数学问题的困难性 。但是,计算量是与算法有关的 。比如说你要计算17乘以28,愚笨的做法是把17个28一个个加起来,聪明的做法是按照多位数的乘法列出算式,后者显然比前者快得多 。
对于像因数分解这样的难题,人们在不断寻找更好的算法 。我们肯定的只是,在目前公开的最好的算法下,因数分解的计算量是指数增长的 。将来有没有可能找到更好的算法,把计算量减到可破解的程度?当然有可能 。这还只是就公开资料而言 。更令人夜不安寝的是,能解密的算法也许已经被某些国家、某些组织掌握了,只是没有公布!