两个大素数分别为100009921,10009933,这两个大素数的因式分解难度有多大?
天文数字般的大素数意味着超高的计算难度,人力计算的时效性,完全无法满足‘高效’的通信需求。
最简单的道理,假设第二十九军面临日军进攻,压力过大,想要撤退,要求一天之内撤入城内,利用基于大素数分解为底层数学原理的非对称加密体系,向国民政府发出请求,从请求被国民政府接收,再到对方做出决定,用公钥对信息加密,反馈给第二十九军。
由于计算难度过高,第二十九军的私钥解密环节,其时间可能耗费两天。
请求一天之内撤入城市,解密时间长达两天,这怎么搞?
对高度注重通信效率的军事领域而言,大素数分解算法,完全无法接受。
还有,如果要动用非对称加密算法体系的话,对通信部门人员的素质要求更高,尤其是数学水平,素数判别和大数分解,绝不是普通人能够做到的,最低要求都得是大学毕业的算学生水准。
而全国又有多少大学毕业的算学生?
想要运用大素数分解,人力很能办到,必须运用机器的力量,一种类似恩尼格玛机的特殊机器,辅助人力计算。
或者,设计一种能够自我运算的机器,把这种大量的重复性计算工作,交给这种自我运算机器。
“时效性……”余华若有所思,猛地醒悟过来,他犯了一个经典的错误——东施效颦。
根据数论,寻找两个大素数较为简单,而将它们的乘积进行因式分解则极其困难,后世的rsa加密算法正是基于这点,将两个大素数的乘积公开,作为公钥加密算法。
而后世rsa加密算法运用大素数分解的基础,则是因为计算机的高速发展,有着每秒数百万次乃至数千万次运算速度的计算机,才满足rsa加密算法的需