质因数是什么(质因数和密电码)

35小吃技术网 推荐阅读 2023年06月01日10时30分59秒 223 0

质因数是什么(质因数和密电码)

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

质因数是什么(质因数和密电码)-第1张图片


我们需要先讲一点密码学。把明文变换成密文,需要两个元素:变换的规则和变换的参数。前者是编码的算法,例如&quot网;在英文字母表上前进x步"。后者是密钥,例如上述算法中的x这个数。如果取x = 1,明文的"fly at once"(立即起飞)就会变成密文的"gmz bu podf"。

最容易想到的保密框架,是通信双方都知道同一组密钥,A用它将明文转换成密文,B用它将密文变换回原文。《红灯记》、《潜伏》等谍战片中情报人员舍死忘生、殚精竭虑保护和争夺的密码本,就是密钥。由于通信双方都知道同一组密钥,所以这种方法叫做"对称密码体制"。对称密码体制究竟安全不安全呢?回答是:密码本身可以是安全的,但密钥的分发不安全。

质因数是什么(质因数和密电码)-第2张图片


在易守难攻的数学问题中,"因数分解"就是一个典型例子。目前世界最常用的密码系统之一,就是基于因数分解的RSA(这是三位发明者的首字母缩写)公钥密码体制。

把两个质数相乘,这是很容易的事。可是,反过来,要想把一个相当大的数分解为质因数的乘积,就不那么简单了。例如,计算29与31的乘积,这是不难的,答案是899。但反过来,若要把899分解为质因数,就不那么容易了。至于要分解更大的数,就更困难了。下面是分解几个大数的质因数所需用的时间:

质因数是什么(质因数和密电码)-第3张图片


由表中可以看出,用笔算试除法来分解一个50位的大数,竟需要约100亿年的时间,这实际上是不可能做到的事。而用电子计算机,只要15秒钟就可以完成。可是,也应该看到,对于更大的数,即使用电子计算机,目前也是很费事费时的。例如一个1000位大的大数进行分解,就需用连续一星期的时间。至于更大的数,那困难就更大了。大数难分解,国家安全机关就把这种"难"的原理应用到密电码上,为国家的安全保卫工作立了大功,且被银行和工矿企业广泛应用。

原来,在具体编码时,是用01、02、03、04、……09、10、11、……26分别表示英文的26个字母,将电文中的单词按字母的顺序"翻译"成数,然后按照一定的方法进行编码。由于人们只知道大数(即质因数的乘积),而不知道这些质因数,网因此并不知道电码的秘密。唯一能破译这种密电码的是掌握质因数这个"谜底"的人。

目前世界最常用的密码系统之一,就是基于因数分解的RSA(这是三位发明者的首字母缩写)公钥密码体制。

质因数是什么(质因数和密电码)-第4张图片


解释一下,因数分解指的是把一个合数分解成两个质因数的乘积,例如21 = 3 7。分解21当然轻而易举,你不管三七二十一就能分解它。不过,来分解2^67 – 1 = 147,573,952,589,676,412,927看看?这是个18位数。1644年(李自成进北京那一年),人们以为它是一个质数。直到1903年(清朝都快亡了),人们才发现它是一个合数,等于193,707,721 761,838,257,287。分解这个数,几乎花了一个朝代的时间!

为网什么会这么困难呢?用计算机科学的语言说,随着位数的增加,因数分解的计算量是"指数增长"的,而指数增长是一种非常快的增长,比"多项式增长"要快得多。

质因数是什么(质因数和密电码)-第5张图片


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

质因数是什么(质因数和密电码)-第6张图片


公钥密码体制的安全性,依赖于数学问题的困难性。但是,计算量是与算法有关的。比如说你要计算17乘以28,愚笨的做法是把17个28一个个加起来,聪明的做法是按照多位数的乘法列出算式,后者显然比前者快得多。

对于像因数分解这样的难题,人们在不断寻找更好的算法。我们肯定的只是,在目前公开的最好的算法下,因数分解的计算量是指数增长的。将来有没有可能找到更好的算法,把计算量减到可破解的程度?当然有可能。这还只是就公开资料而言。更令人夜不安寝的是,能解密的算法也许已经被某些国家、某些组织掌握了,只是没有公布!

当然,随着电子计算机的不断发展,人们对质因数的分解也会逐渐取得新的突破,今天分解不了的大数,明天就可能分解。到那时,分解质因数的奥秘将逐一被揭穿,而这种密电码的安全性就成问题了。因此,密码学处于一种无止境的军备竞赛对抗之中,一方提出更强的攻击算法,另一方提出更强的保密算法,无限地循环下去。而量子密码术,改变了密码攻防的基本格局,量子密码术是目前唯一能从原理上证明安全性的密码体制。