- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
跨越千年的RSA算法
数论,数学中的皇冠,最纯粹的数学。早在古希腊时代,人们就开始痴迷地研究
数字,沉浸于这个几乎没有任何实用价值的思维游戏中。直到计算机诞生之后,
几千年来的数论研究成果突然有了实际的应用,这个过程可以说是最为激动人心
的数学话题之一。最近我在《程序员》杂志上连载了《跨越千年的RSA算法》,
但受篇幅限制,只有一万字左右的内容。其实,从数论到RSA算法,里面的数
学之美哪里是一万字能扯完的?在写作的过程中,我查了很多资料,找到了很多
漂亮的例子,也积累了很多个人的思考,但最终都因为篇幅原因没有加进《程序
员》的文章中。今天,我想重新梳理一下线索,把所有值得分享的内容一次性地
呈现在这篇长文中,希望大家会有所收获。需要注意的是,本文有意为了照顾可
读性而牺牲了严谨性。很多具体内容都仅作了直观解释,一些“显然如此”的细节
实际上是需要证明的。如果你希望看到有关定理及其证明的严格表述,可以参见
任意一本初等数论的书。把本文作为初等数论的学习读物是非常危险的。最后,
希望大家能够积极指出文章中的缺陷,我会不断地做出修改。
=======更新记录=======
2012年12月15日:发布全文。
2012年12月18日:修改了几处表达。
========目录========
(一)可公度线段
(二)中国剩余定理
(三)扩展的辗转相除
(四)Fermat小定理
(五)公钥加密的可能性
(六)RSA算法
(一)可公度线段
Euclid,中文译作“欧几里得”,古希腊数学家。他用公理化系统的方法归纳整理
了当时的几何理论,并写成了伟大的数学著作《几何原本》,因而被后人称作“几
何学之父”。有趣的是,《几何原本》一书里并不全讲的几何。全书共有十三卷,
第七卷到第十卷所讨论的实际上是数论问题——只不过是以几何的方式来描述
的。在《几何原本》中,数的大小用线段的长度来表示,越长的线段就表示越大
的数。很多数字与数字之间的简单关系,在《几何原本》中都有对应的几何语言。
例如,若数字a是数字b的整倍数,在《几何原本》中就表达为,长度为a的
线段可以用长度为b的线段来度量。比方说,黑板的长度是2.7米,一支铅笔
的长度是18厘米,你会发现黑板的长度正好等于15个铅笔的长度。我们就
说,铅笔的长度可以用来度量黑板的长度。如果一张课桌的长度是117厘米,
那么6个铅笔的长度不够课桌长,7个铅笔的长度又超过了课桌长,因而我们
就无法用铅笔来度量课桌的长度了。哦,当然,实际上课桌长相当于6.5个铅
笔长,但是铅笔上又没有刻度,我们用铅笔来度量课桌时,怎么知道最终结果是
6.5个铅笔长呢?因而,只有a恰好是b的整数倍时,我们才说b可以度量
a。
给定两条长度不同的线段a和b,如果能够找到第三条线段c,它既可以度
量a,又可以度量b,我们就说a和b是可公度的(commensurable,
也叫做可通约的),c就是a和b的一个公度单位。举个例子:1英寸和1
厘米是可公度的吗?历史上,英寸和厘米的换算关系不断在变,但现在,英寸已
经有了一个明确的定义:1英寸精确地等于2.54厘米。因此,我们可以把0.2
毫米当作单位长度,它就可以同时用于度量1英寸和1厘米:1英寸将正好
等于127个单位长度,1厘米将正好等于50个单位长度。实际上,0.1毫
米、0.04毫米、(0.2/3)毫米也都可以用作1英寸和1厘米的公度单位,
不过0.2毫米是最大的公度单位。
等等,我们怎么知道0.2毫米是最大的公度单位?更一般地,任意给定两条线
段后,我们怎么求出这两条线段的最大公度单位呢?在《几何原本》第七卷的命
题2当中,Euclid给出了一种求最大公度单位的通用算法,这就是后来所说
的Euclid算法。这种方法其实非常直观。假如我们要求线段a和线段b的最
大公度单位,不妨假设a比b更长。如果b正好能度量a,那么考虑到b当
然也能度量它自身,因而b就是a和b的一个公度单位;如果b不能度量
a,这说明a的长度等于b的某个整倍数,再加上一个零头。我们不妨把这个
零头的长度记作c。如果有某条线段能够同时度量b和c,那么它显然也就
您可能关注的文档
最近下载
- 辽宁省委党校在职研究生入学考试2021政治理论综合真题.docx VIP
- 某地下车库消防系统设计.docx VIP
- 龙源电气变流器典型故障的处理V1.0.ppt VIP
- 生态文明建设论文(优秀范文5篇) .pdf VIP
- 2024年中级职称全科医学主治医师历年真题原卷汇编(试题及答案).pdf VIP
- 个人欠款起诉书范文.docx VIP
- (高清版)-B-T 34590.10-2022 道路车辆 功能安全 第10部分:指南.pdf VIP
- 2025年晋中职业技术学院单招职业倾向性测试题库(研优卷).docx VIP
- 新时代思想学生读本(高中)4.3《依靠人民创造历史伟业》课件.pptx VIP
- 小红书种草营销师试卷含答案.doc
文档评论(0)