ImageVerifierCode 换一换
格式:PPT , 页数:32 ,大小:906.50KB ,
文档编号:2131675      下载积分:25 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-2131675.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(《通信原理教程》(第3版)樊昌信编著第十三章PPT课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

《通信原理教程》(第3版)樊昌信编著第十三章PPT课件.ppt

1、1通信安全的基础通信安全的基础 密码学密码学n密码编码学密码编码学n密码分析学密码分析学通信不安全因素通信不安全因素n被破译被破译n被攻击被攻击 被伪造和篡改被伪造和篡改认证认证 防止被攻击的手段防止被攻击的手段认证的目的:认证的目的:n验证信息发送者真伪验证信息发送者真伪n验证接收信息的完整性验证接收信息的完整性 是否被篡改了?是否被重复接收是否被篡改了?是否被重复接收了?是否被拖延了?了?是否被拖延了?认证技术:包括消息认证、身份验证和数字签字。认证技术:包括消息认证、身份验证和数字签字。2密码编码学内容:密码编码学内容:n将消息加密的方法将消息加密的方法n将已加密的消息解密的方法将已加密

2、的消息解密的方法密码分析学内容:如何破译密文和伪造密文。密码分析学内容:如何破译密文和伪造密文。密码学的基本术语密码学的基本术语n明文明文 待加密的消息待加密的消息n密文密文 加密后的消息加密后的消息n密码密码 用于加密的数据变换集合用于加密的数据变换集合n密钥密钥 用于表示加密变换的参数用于表示加密变换的参数密码种类:密码种类:n单密钥密码单密钥密码n公共密钥密码:也称为双密钥密码公共密钥密码:也称为双密钥密码3例:例:n密钥密钥Z m序列序列n加密算法加密算法 模模2加法加法n解密算法解密算法 仍是模仍是模2加法加法 一般算法:一般算法:令令F为产生密文为产生密文Y 的可逆变换,即有的可逆

3、变换,即有Y = F(X, Z) = FZ(X)在接收端,密文在接收端,密文Y 用逆变换用逆变换F-1恢复成原来的明文恢复成原来的明文X ,即,即X = F-1(Y, Z) = FZ-1(Y) = FZ-1FZ(X)密钥密钥安全信道安全信道信源信源加密加密解密解密信道信道XYZX敌方敌方发送端发送端 信道信道 接收端接收端4分组密码分组密码n加密过程加密过程n原理原理p连续的分组用相同的密钥加密。连续的分组用相同的密钥加密。p若有一个特定的分组明文和以前的一个分组相同,则加若有一个特定的分组明文和以前的一个分组相同,则加密后两者的密文也相同。密后两者的密文也相同。p目标是使明文的任目标是使明文

4、的任1比特都不会直接出现在密文中。比特都不会直接出现在密文中。串行串行-分组分组变换器变换器密码加密密码加密逻辑逻辑分组分组-串行串行变换器变换器密钥密钥串行串行明文明文串行串行明文明文5流密码流密码n原理:对明文的逐个比特进行不同的变换。原理:对明文的逐个比特进行不同的变换。 n例:二进制加性流密码例:二进制加性流密码p令令xn, yn和和zn分别表示在分别表示在n时刻明文比特、密文比特和密时刻明文比特、密文比特和密钥流比特,则有钥流比特,则有式中,式中,N是密钥流的长度。是密钥流的长度。因为在模因为在模2运算中加法和减法是一样的,所以上式也运算中加法和减法是一样的,所以上式也可以写为可以写

5、为因此,同样的装置既可以用于加密,也可以用于解密。因此,同样的装置既可以用于加密,也可以用于解密。密钥流密钥流产生器产生器明文明文 xn密文密文 yn密钥流密钥流 zn密钥密钥(a)加密装置加密装置密钥流密钥流产生器产生器密文密文 yn明文明文 xn密钥流密钥流 zn密钥密钥(b)解密装置解密装置Nnzxynnn, 2, 1,Nnzyxnnn, 2, 1,6p密钥流应当尽可能地近似于一个完全随机的序列。密钥流应当尽可能地近似于一个完全随机的序列。p若密钥流是一个若密钥流是一个m序列,则图中的密钥流产生器就是一序列,则图中的密钥流产生器就是一个个m序列产生器;密钥则是控制此序列产生器;密钥则是控

6、制此m序列的生成多项式序列的生成多项式和同步信息等。和同步信息等。p二进制加性流密码没有错误传播;在密文中一个错误比二进制加性流密码没有错误传播;在密文中一个错误比特解密后只影响输出中的相应比特。特解密后只影响输出中的相应比特。(分组密码可能有错误传播,使明文分组中很少几个比(分组密码可能有错误传播,使明文分组中很少几个比特的改变在密文输出中产生很多比特的变化。分组密码特的改变在密文输出中产生很多比特的变化。分组密码的这种错误传播性质在认证中很有价值,因为它使敌方的这种错误传播性质在认证中很有价值,因为它使敌方的破译人员不可能修改加密后的数据,除非知道密钥。)的破译人员不可能修改加密后的数据,

7、除非知道密钥。)p 流密码通常较适用于通过易出错的通信信道传输数据,流密码通常较适用于通过易出错的通信信道传输数据,用于要求高数据率的应用中,例如视频保密通信,或者用于要求高数据率的应用中,例如视频保密通信,或者用于要求传输延迟很小的场合。用于要求传输延迟很小的场合。7对通信安全的基本要求对通信安全的基本要求n假设:敌方破译人员知道所用加密法的全部机理,只是假设:敌方破译人员知道所用加密法的全部机理,只是不知道密钥。不知道密钥。 n密码分析性攻击的形式:密码分析性攻击的形式:p仅对密文的攻击仅对密文的攻击p对已知明文的攻击对已知明文的攻击p对选定的明文的攻击对选定的明文的攻击p对选定的密文的攻

8、击对选定的密文的攻击 n实际中常发生的是仅对密文的攻击:实际中常发生的是仅对密文的攻击:p例:使用语言的统计结构知识(例如,英文字母例:使用语言的统计结构知识(例如,英文字母e的的出现概率是出现概率是13%,以及字母,以及字母q的后面总跟随着的后面总跟随着u)和关)和关于某些可能的字的知识(例如,一封信的开头中可能于某些可能的字的知识(例如,一封信的开头中可能有有“先生先生”或或“女士女士”两字)。两字)。 n仅对密文的攻击是一个密码系统受到的最轻的威胁。因仅对密文的攻击是一个密码系统受到的最轻的威胁。因此,任何系统若不能战胜这种攻击,则被认为是完全不此,任何系统若不能战胜这种攻击,则被认为是

9、完全不安全的系统。安全的系统。 8香农模型的假定:香农模型的假定:n敌方破译人员具有无限的时间和无限的计算能力;敌方破译人员具有无限的时间和无限的计算能力;n敌方仅限于对密文攻击。敌方仅限于对密文攻击。香农的密码分析定义:给定密文以及各种明文和密钥的先验香农的密码分析定义:给定密文以及各种明文和密钥的先验概率,搜寻密钥的过程。当敌方破译人员获得密文的唯一解概率,搜寻密钥的过程。当敌方破译人员获得密文的唯一解时,就成功地解密了。时,就成功地解密了。香农对安全性的基本度量香农对安全性的基本度量 互信息量互信息量I(X; Y) n令令X = (X1, X2, , XN)表示一个表示一个N 比特的明文

10、消息比特的明文消息; Y = (Y1, Y2, , YN)表示相应的表示相应的N 比特密文。比特密文。n假定:假定:p密钥密钥Z服从某种概率分布服从某种概率分布pH(X) X的不确定性的不确定性pH(X/Y) 给定给定Y后后X的不确定性的不确定性pI (X; Y) = H(X) H(X/Y) X和和Y之间的互信息量。之间的互信息量。9 13.4.1 完善安全性完善安全性完善安全性定义完善安全性定义 假定:破译人员只能够看到密文假定:破译人员只能够看到密文Y,则一个保密系统的完,则一个保密系统的完善安全性定义为:明文善安全性定义为:明文X和密文和密文Y之间是统计独立的,即有之间是统计独立的,即有

11、I(X; Y) = 0于是,由于是,由I (X; Y) = H(X) H(X/Y),可以求出,可以求出H(X/Y) = H(X) 上式表明,敌方破译人员最多只能,按照所有可能消息上式表明,敌方破译人员最多只能,按照所有可能消息的概率分布,从给定的密文的概率分布,从给定的密文Y,去猜测明文消息,去猜测明文消息X。 10香农基本界香农基本界给定密钥给定密钥Z后,有后,有H(X/Y) H(X, Z/Y) = H(Z/Y) + H(X/Y, Z)当且仅当当且仅当Y 和和 Z 共同唯一地决定共同唯一地决定X 时,时,H(X/Y, Z) = 0;当使用已知密钥当使用已知密钥 Z 解密时,这是一个很有价值的

12、假定。解密时,这是一个很有价值的假定。 因此,我们可以将式因此,我们可以将式H(X/Y) H(X, Z/Y) = H(Z/Y) + H(X/Y, Z)简化如下:简化如下:H(X/Y) H(Z/Y) H(Z)将上式代入式将上式代入式H(X/Y) = H(X)得知:为使一个保密系统给出完善的安全性,必须满足条件得知:为使一个保密系统给出完善的安全性,必须满足条件H(Z) H(X) 它表明为了达到完善安全性,密钥它表明为了达到完善安全性,密钥Z的不确定性必须的不确定性必须不小于被此密钥所隐蔽的明文不小于被此密钥所隐蔽的明文X的不确定性。的不确定性。 11一次一密密码一次一密密码n原理方框图:一种流密

13、码,其密钥和密钥流相同,并且密原理方框图:一种流密码,其密钥和密钥流相同,并且密钥只使用一次。钥只使用一次。 n密文密文 yn = xn zn,n = 1, 2, 式中,式中,xn 消息比特序列;消息比特序列; zn 统计独立和均匀分布的密钥比特序列。统计独立和均匀分布的密钥比特序列。n一次一密密码是完善安全的,因为消息和密文之间的互信一次一密密码是完善安全的,因为消息和密文之间的互信息量为息量为0;所以它是完全不可解密的。;所以它是完全不可解密的。 消息消息xn密文密文yn密钥密钥zn密文密文yn消息消息xn密钥密钥zn(a) 加密加密(b) 解密解密12 13.4.2 唯一解距离唯一解距离

14、对于一个用非完善密码加密的密文,可以预期,当截获的文对于一个用非完善密码加密的密文,可以预期,当截获的文件量随时间增大到某一点时,破译人员用无限的时间和无限件量随时间增大到某一点时,破译人员用无限的时间和无限的计算能力,将能够找到密钥并从而破译了密文。的计算能力,将能够找到密钥并从而破译了密文。 在香农的模型中,破译人员能破译此密文的临界点称为唯一在香农的模型中,破译人员能破译此密文的临界点称为唯一解距离。解距离。唯一解距离的定义:唯一解距离的定义: 使条件熵使条件熵H(Z/Y1, Y2, , YN)近似为近似为0的最小的最小N。对于一类特殊的对于一类特殊的“随机密文随机密文”,唯一解距离近似

15、由下式给出:,唯一解距离近似由下式给出:式中,式中,H(Z) 密钥密钥Z的熵,的熵, Ly 密文字符集的大小,密文字符集的大小, r N比特密文中所含信息的冗余度百分比,即比特密文中所含信息的冗余度百分比,即式中,式中,H(X)为明文为明文X的熵。的熵。 yLrHN20log)(ZyLNHr2log)(1X13 在大多数保密系统中,密文字符集的大小在大多数保密系统中,密文字符集的大小Ly和明文字符和明文字符集的大小集的大小Lx一样。在这种情况下,一样。在这种情况下,r就是明文本身的冗余度百就是明文本身的冗余度百分比。分比。求求H(Z) 令令 K = 密钥密钥Z中的数字数目,这些数字是从大小为中

16、的数字数目,这些数字是从大小为Lz的字的字符集中选用的;则可以将密钥符集中选用的;则可以将密钥 Z 的熵表示如下:的熵表示如下:当且仅当密钥是完全随机的时,上式等号成立。当且仅当密钥是完全随机的时,上式等号成立。 令令Lz = Ly,并完全随机地选择密钥以使唯一解距离最大。,并完全随机地选择密钥以使唯一解距离最大。然后,将然后,将H(Z) = K log2 Lz代入代入得到:得到:N0 K / r yLNHr2log)(1XzKzLKLH22loglog)(ZyLrHN20log)(Z14N0 K / r 例:考察一个例:考察一个Lx = Ly = Lz保密系统,它用于对英文文本加密保密系统,

17、它用于对英文文本加密 典型英文文本的典型英文文本的 r 大约等于大约等于75。因此,按照上式,一个。因此,按照上式,一个破译人员在仅截获约破译人员在仅截获约1.333K比特的密文数据后,就能破译此比特的密文数据后,就能破译此密码,其中密码,其中K是密钥长度。是密钥长度。值得注意,非完善密码仍然有实用价值。值得注意,非完善密码仍然有实用价值。 15 13.4.3 数据压缩在密码编码中的作用数据压缩在密码编码中的作用数据压缩能除去冗余度,因此增大了唯一解距离。数据压缩能除去冗余度,因此增大了唯一解距离。 13.4.4 扩散与混淆扩散与混淆扩散:将明文中一个比特的影响扩散到密文中很多比特,从扩散:将

18、明文中一个比特的影响扩散到密文中很多比特,从而将明文的统计结构隐藏起来。而将明文的统计结构隐藏起来。 混淆:采用数据变换,使密文的统计特性与明文的统计特性混淆:采用数据变换,使密文的统计特性与明文的统计特性之间的关系更为复杂。之间的关系更为复杂。 乘积密码:由一些简单的密码分量相继加密构成;这些较简乘积密码:由一些简单的密码分量相继加密构成;这些较简单的密码分量分别能使最终的密码有适度的扩散和混淆。单的密码分量分别能使最终的密码有适度的扩散和混淆。 例:乘积密码用例:乘积密码用“替代密码替代密码”和和“置换密码置换密码”作为基本分作为基本分量。量。16替代密码:明文的每个字符用一种固定的替代所

19、代替;代替替代密码:明文的每个字符用一种固定的替代所代替;代替的字符仍为同一字符表中的字符;特定的替代规则由密钥决的字符仍为同一字符表中的字符;特定的替代规则由密钥决定。定。 若明文为若明文为X = (x1, x2, x3, x4, ) 式中,式中,x1, x2, x3, x4, 为相继的字符,则为相继的字符,则变换后的密文为变换后的密文为Y = (y1, y2, y3, y4, ) = f(x1), f(x2), f(x3), f(x4),式中,式中,f ( )是一个可逆函数。是一个可逆函数。 例:密文的字符表例:密文的字符表 从此表中可以看到,第一个字符从此表中可以看到,第一个字符U替代替

20、代A,第二个字符,第二个字符H替代替代B,等等。,等等。 使用替代密码可以得到混淆。使用替代密码可以得到混淆。明文字符明文字符ABCDEFGHIJKLMNOPQRSTUVWXYZ密文字符密文字符UHNACSVYDXEKQJRWGOZITPFMBL17置换密码:明文被分为具有固定周期置换密码:明文被分为具有固定周期 d 的组,对每组作同样的组,对每组作同样的交换。特定的交换规则是由密钥决定的。的交换。特定的交换规则是由密钥决定的。n若周期若周期d4,交换规则为,交换规则为则明文中的字符则明文中的字符 x 将从位置将从位置 1 移至密文中的位置移至密文中的位置 4。 一般而言,明文一般而言,明文X

21、 = (x1, x2, x3, x4, x5, x6, x7, x8, )将变换成密文将变换成密文Y = (x3, x4, x2, x1, x7, x8, x6, x5, )n虽然密文虽然密文Y 中单个字符的统计特性和明文中单个字符的统计特性和明文X 中的一样,但中的一样,但是高阶统计特性却改变了。是高阶统计特性却改变了。n使用置换密码可以得到扩散。使用置换密码可以得到扩散。明文字符明文字符x1 x2 x3 x4密文字符密文字符x3 x4 x2 x118将替代和置换作交织,并将交织过程重复多次,就能得到具将替代和置换作交织,并将交织过程重复多次,就能得到具有良好扩散和混淆性能的保密性极强的密码

22、。有良好扩散和混淆性能的保密性极强的密码。例:例: 设明文消息为设明文消息为THE APPLES ARE GOOD使用交换字符表使用交换字符表作为替代密码,则此明文将变换为如下密文:作为替代密码,则此明文将变换为如下密文:IYC UWWKCZ UOC VRRA 下一步我们将交换规则下一步我们将交换规则用于置换密码,则从替代密码得到的密文将进一步变换成用于置换密码,则从替代密码得到的密文将进一步变换成UCI YCKWWC OZU ARVR这样,上面的密文和原来的明文相比,毫无共同之处。这样,上面的密文和原来的明文相比,毫无共同之处。明文字符明文字符ABCDEFGHIJKLMNOPQRSTUVWX

23、YZ密文字符密文字符UHNACSVYDXEKQJRWGOZITPFMBL明文字符明文字符x1 x2 x3 x4密文字符密文字符x3 x4 x2 x11913.5 数据加密标准数据加密标准 美国政府标准算法美国政府标准算法DES DES采用扩散和混淆算法,是一种保密性很强的密码。采用扩散和混淆算法,是一种保密性很强的密码。它对它对64 b长的明文数据分组运算,所用的密钥长度为长的明文数据分组运算,所用的密钥长度为56 b。 DES算法中:算法中:n总变换总变换 = P -1FP(X),其中其中 X 明文,明文,P 某种交换,某种交换,F 包括替代和置换;由某些函数包括替代和置换;由某些函数 f

24、的级连构成。的级连构成。20DES算法流程图算法流程图n第第1次初始交换后:次初始交换后:64 b的明文分为左的明文分为左半部半部L0和右半部和右半部R0,每半部长,每半部长32 b。 n完成完成16轮交换,其中第轮交换,其中第 i 轮交换:轮交换: Li = Ri1, i = 1,2,16Ri = Li-1 f(Ri-1, Zi),i = 1,2,16式中,式中,Zi 在第在第i 轮中使用的密钥;轮中使用的密钥;此密钥的长度为此密钥的长度为48 b。 n第第16轮运算的结果,经过颠倒后,轮运算的结果,经过颠倒后,得到得到R16L16。 n再经过最后一次交换再经过最后一次交换P -1,就产生出

25、就产生出64 b的密文。的密文。n为了解密,函数为了解密,函数f( , )不必须是可逆的,不必须是可逆的,因为因为(Li-1, Ri-1)能够从能够从(Li, Ri)直接恢复:直接恢复: Ri-1 = Li i = 1,2,16Li-1 = Ri f(Li, Zi) i = 1,2,1664 b密文密文f(R0, Z1)R16L16最后一次交换最后一次交换Z164 b 明文明文初始交换初始交换32 b L032 b R0f(R0, Z1)R1L1f(R0, Z1)R2L2R15L15Z2Z1621计算计算f( , )的流程图的流程图n扩展:扩展:R(32b) R (48b) 方法:重复每个相继

26、的方法:重复每个相继的4 比特字的两端比特。比特字的两端比特。若若 R = r1r2r3r4 r5r6r7r8 r29r30r31r32则扩展后则扩展后R r32r1r2r3r4r5 r4r5r6r7r8r9 r28r29r30r31r32r1nR 和和 Zi 模模2相加,再将相加相加,再将相加结果分成结果分成8个个6 b的字:的字: B1B2 B8 = R Zi 32 b的的R扩扩 展展48 b的的R 48 b的的ZiS2S8S1交换交换 P 32 b f(R, Zi)第1个4 b的字第2个4 b的字第8个4 b的字第1个6 b的字第2个6 b的字第8个6 b的字22n每个每个6 b的字的字

27、 Bi 输入到一个替代方框输入到一个替代方框Si;后者用查表的方法;后者用查表的方法产生出一个产生出一个4 b的输出的输出Si(Bi)。 Si(Bi)是是6 b字字Bi的布尔函数。的布尔函数。n 8个输出个输出Si 输入到交换方框输入到交换方框P 。n交换所得就是所要求的交换所得就是所要求的32 b的函数的函数f(R, Zi) : f(R, Zi) PS1(B1)S2(B2)S8(B8)32 b的的R扩扩 展展48 b的的R 48 b的的ZiS2S8S1交换交换 P 32 b f(R, Zi)23密钥进程计算密钥进程计算 决定每个决定每个Zi所用的过程所用的过程n流程图流程图 n各各Zi使用密

28、钥使用密钥Z0的的不同子集。不同子集。 n密钥密钥Z0在位置在位置8, 16, , 64上有上有8个监督个监督比特,用于在对应比特,用于在对应的的8 b字节中进行错字节中进行错误检测。误检测。n“交换选择交换选择1”丢掉丢掉Z0的监督比特。的监督比特。n然后存入两个然后存入两个28 b的的移存器中。移存器中。64 b密钥密钥交换选择交换选择156 b密钥密钥28 b C028 b D0左左 移移左左 移移C1D1左左 移移左左 移移交换选择交换选择2C2D2左左 移移左左 移移交换选择交换选择2C16D16交换选择交换选择2移存器移存器Z1Z2Z1624n作作16次迭代运算,每次迭代包括一次或

29、两次循环左移,然次迭代运算,每次迭代包括一次或两次循环左移,然后进行后进行“交换选择交换选择2”。n输出就是第输出就是第1次至第次至第16次迭代用的不同的次迭代用的不同的48 b密钥分组密钥分组Z1, Z2, , Z16。64 b密钥密钥交换选择交换选择156 b密钥密钥28 b C028 b D0左左 移移左左 移移C1D1左左 移移左左 移移交换选择交换选择2C2D2左左 移移左左 移移交换选择交换选择2C16D16交换选择交换选择2移存器移存器Z1Z2Z162513.6.1 基本原理基本原理公共密钥系统中,用两种算法去计算两个不可逆函数(变公共密钥系统中,用两种算法去计算两个不可逆函数(

30、变换)。令这两种算法用换)。令这两种算法用Ez和和Dz表示:表示:Ez: fz(x) = y 公共密钥(公钥)公共密钥(公钥)Dz: fz-1(y) = x 秘密密钥(私钥)秘密密钥(私钥)式中,式中,x 在某个函数在某个函数fz的域中的一个输入消息,的域中的一个输入消息,y 在在fz取值范围内相应的密文。取值范围内相应的密文。基本要求:函数基本要求:函数fz必须是一个单向函数。必须是一个单向函数。公钥和私钥的两个基本性质:公钥和私钥的两个基本性质:n消息被这对密钥之一加密后,能够用另一个密钥解密。消息被这对密钥之一加密后,能够用另一个密钥解密。n知道公钥后,不可能计算出私钥。知道公钥后,不可

31、能计算出私钥。将此系统的用户姓名、地址和公钥列于一本将此系统的用户姓名、地址和公钥列于一本“电话簿电话簿”中。中。当一个用户需要向另一个用户发送保密消息时,查此当一个用户需要向另一个用户发送保密消息时,查此“电话电话簿簿”,用对方的公钥对消息加密。加密的消息只能由持有对,用对方的公钥对消息加密。加密的消息只能由持有对应私钥的用户阅读。应私钥的用户阅读。 26 13.6.2 Diffie-Hellman 公共密钥分配系统公共密钥分配系统基本原理:令离散指数函数为基本原理:令离散指数函数为 Y = X mod p1 X p 1式中,式中, 一个整数,并且是一个本原元。一个整数,并且是一个本原元。因

32、此,因此,X是是Y的以的以 为底的模为底的模p离散对数:离散对数: X = log Y mod p 1 Y p 1使用使用“平方的乘积平方的乘积”法,很容易从法,很容易从X计算计算Y。例如,对于例如,对于X = 16,有,有Y = 16 = ( 2)222 另一方面,从另一方面,从Y计算计算X则难得多。则难得多。应用方法:假定所有用户都知道应用方法:假定所有用户都知道 和和p。n若有一用户若有一用户i,从一组整数,从一组整数1, 2, , p中,均匀地选择一个中,均匀地选择一个独立随机数独立随机数Xi,作为私钥;并将离散指数,作为私钥;并将离散指数 Yi = Xi mod p 和用户姓名及地址

33、一起放在和用户姓名及地址一起放在“公共电话簿公共电话簿”中。其他用户中。其他用户也如此做。也如此做。27n假设用户假设用户i 和和 j 希望进行保密通信。为此,用户希望进行保密通信。为此,用户i 从从“公共公共电话簿电话簿”中取出中取出Yj,并用私钥,并用私钥Xi计算计算用户用户j 用同样方法计算用同样方法计算Kij。因为。因为Kji = Kij所以,用户所以,用户i和和j可将可将Kji 看作是普通保密系统中的密钥。看作是普通保密系统中的密钥。n敌方若想得到敌方若想得到Kji,必须用从,必须用从“公共电话簿公共电话簿”中得到的中得到的Yi和和Yj,按照下列公式去计算,按照下列公式去计算Kji:

34、上式因为包含离散对数故难于计算。上式因为包含离散对数故难于计算。 pppYKijijiXXXXXjjimodmodmodpYKiYjjimodlog2813.7.1 RSA公共密钥密码系统公共密钥密码系统基本原理:基本原理:RSA算法是一种分组密码,其理论基础是,求出算法是一种分组密码,其理论基础是,求出一个随机的大素数不难,但是将两个这种数的乘积分解因子一个随机的大素数不难,但是将两个这种数的乘积分解因子目前认为是不可能的。目前认为是不可能的。算法:算法:n随机选择两个很大的素数随机选择两个很大的素数p和和q,p q;n将将p和和q相乘,得到乘积相乘,得到乘积pq = n n使用下式求出欧拉

35、函数使用下式求出欧拉函数 (n): (n) = (p 1)(q 1)n从欧拉函数从欧拉函数(n)的定义可知,上式给出小于的定义可知,上式给出小于n的正整数的正整数i的的数目,且数目,且i和和n的最大公因子等于的最大公因子等于1,即,即i和和n互为素数。互为素数。例:设 p3,q5,则n15,(n) = (3-1)(5-1) = 8。它表示小于15且和15互素的正整数i共有8个;它们是:1,2,4,7,8,11,13,14。29n令令e是一个小于是一个小于(n)的正整数,它使的正整数,它使e和和(n)的最大公因子等于的最大公因子等于1。这样,求出一个小于这样,求出一个小于(n)的正整数的正整数d

36、,它使,它使de 1 mod(n)nRSA的单向函数由计算下式中的离散指数定义:的单向函数由计算下式中的离散指数定义:fz(x) = xe = y mod nn将将n和和e值组成公共密钥值组成公共密钥 公布计算函数公布计算函数fz的算法的算法Ez(它很容易(它很容易找到)就相当于公布找到)就相当于公布n和和e的值。的值。n素数素数p和和q组成秘密密钥。组成秘密密钥。n知道素数知道素数p和和q后,就容易求出逆函数后,就容易求出逆函数fz-1 。 fz-1的定义是的定义是fz-1(y) = yd mod n使用式使用式 de 1 mod(n),能求出解密指数,能求出解密指数d ,即,即 de (n

37、)Q + 1式中,式中,Q是某个整数。是某个整数。 y = xe,利用欧拉的一个著名定理,即对于任何正整数利用欧拉的一个著名定理,即对于任何正整数x和和n,x n,有有 ,将其代入,将其代入de (n)Q + 1,得到,得到yd = x 它表明:知道素数它表明:知道素数p和和q后,就容易求出逆函数后,就容易求出逆函数fz-1。xxxxyQnQnded)(1)(nxnmod1)(30RSA密码算法的安全性依赖于如下前提:求密码算法的安全性依赖于如下前提:求fz的逆函数的任何的逆函数的任何方法等效于求分解方法等效于求分解n = pq的方法。这样就产生了一个问题:用的方法。这样就产生了一个问题:用分

38、解分解n的方法进行攻击可能吗?答案是不可能的。若素数的方法进行攻击可能吗?答案是不可能的。若素数p和和q分别由分别由100位以上十进制数字组成,目前尚无分解因子的算法。位以上十进制数字组成,目前尚无分解因子的算法。3113.7.2 RSA算法在数字签字中的应用算法在数字签字中的应用数字签字必须具有的性质:数字签字必须具有的性质:n一个电子消息的接收设备必须能够验证发送者的签字。一个电子消息的接收设备必须能够验证发送者的签字。n签字不可能伪造。签字不可能伪造。n已签字的电子消息的发送者不能否认它。已签字的电子消息的发送者不能否认它。用用RSA算法实现数字签字的方法:算法实现数字签字的方法:n一个

39、拥有私钥一个拥有私钥d的用户可以对给定的消息分组的用户可以对给定的消息分组m签字为签字为s = md mod n若不知道私钥若不知道私钥d,则很难计算出,则很难计算出s。 故此签字很难伪造。故此签字很难伪造。n消息消息m的发送者不能否认此消息是他发送的,因为其他人的发送者不能否认此消息是他发送的,因为其他人不能造出此签字不能造出此签字s。 n接收设备使用公钥接收设备使用公钥e进行如下计算:进行如下计算:se = (md)e mod n = mde mod n = m mod n n接收设备计算接收设备计算se,若得到和解密的消息,若得到和解密的消息m相同的结果,就证相同的结果,就证明了发送者的签字是真的。明了发送者的签字是真的。 32

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|