- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章公钥密码学中的数学问题.PDF
第 11 章 公钥密码学中的数学问题
密码学(密码技术)是一门应用的科学,是信息安全的核心技术.它的知识涉及多个领
域,如数学、计算机等学科.密码学也可以认为是主要以数学学科为理论基础,以计算机科
学为实现工具而形成的一门具有自己特色的理论体系的一门科学.本节的主要目的是综合介
绍密码学所用到的数论、代数的一些数学问题.这些问题将构成公钥密码学所依赖的数学理
论的核心内容.通过对这些问题的进一步深入理解,将很容易地了解与学习公钥密码学的分
析技术与设计技术.另外,本章所介绍的数学问题的重要性主要体现在这些问题计算的有效
性或者是计算的复杂性,因此,在本章中,我们还将对一些问题的计算复杂性进行讨论.
§1 时间估计与算法复杂性
我们必须首先介绍复杂性理论的一些概念,这有助于理解密码技术和算法的安全性,而
且有助于我们讨论各种数学问题的算法时间估计.
复杂性既是研究算法所需的计算量,也针对问题的内在复杂性进行分类.
算法的复杂性常常用两个概念来度量:时间复杂性和空间复杂性,这两个概念通常表示
n
为输入长度 的函数,而这两个概念从某种程度上也是可以相互转化的.比如要用试除的方
法求一个大数的因子分解,可以在一台计算机上串行的搜索素数表;也可以把素数表分配给
多台计算机,进行并行计算.前一种方法牺牲时间,后一种则牺牲了空间.
定义 1 在计算机的二进制整数的运算中,两个比特的一次加法、减法、乘法或一个二
位整数被一位整数整除的运算时间相同,都称为一次比特运算.
另外,一个算法在计算机上运行时,通常还有移位运算或存取运算,由于这些运算较快,
在算法的时间估计中,通常忽略这些运算时间.
在一个算法的运行中,比特运算次数与完成计算的时间基本上成正比,所以通常我们对
于一个算法的时间估计总是指计算机运行该算法所需要的比特次数.
k
定理 1 若 是两个二进制长度为 的整数,则计算这两个整数的和或差的计算需要
a b,
O (k ) 次比特运算.
定理 1 显然成立.
k l
定理 2 若 分别为 位与 位二进制数 ,则计算它们的积或商需要
a b, ( l )k ≤ O(kl)
O (log a log b ) ⋅
( )次比特运算.
2 2
证明 先来看看乘法的实现.令
k l
b b( b b ) i , b 2 j .
a a( a a ) a 2 ∑ l 1 0 2 ∑ j
k 1 0 2 i
i 0 j 0
212
由
文档评论(0)