第四章 公钥密码.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 公钥密码 1.公钥密码体制简介 2. 数论简介 3. RSA算法 4. Rabin密码体制 5. 椭圆曲线密码体制 1.1 公钥密码体制简介 对称密码体制:保密性,运算速度快,适合加密 大量数据 公钥密码体制:保密性,密钥分配,认证;运算 速度慢,适合加密少量数据。如: 用公钥密码加密传送分组密码的密钥。 (2) 公钥密码体制的原理 公钥密码算法的最大特点是采用两个相关密钥将加密和解密能力分开,其中一个密钥是公开的,称为公开密钥,简称公开钥,用于加密; 另一个密钥是为用户专用,因而是保密的,称为秘密密钥,简称秘密钥,用于解密。 公钥密码体制也称为双钥密码体制或非对称密码体制。 算法有以下重要特性: 已知密码算法和加密密钥,求解密密钥在计算上是不可行的。 图4.1 公钥体制加密的框图 (3) 公钥密码算法应满足的要求 公钥密码算法应满足以下要求: ① 接收方B产生密钥对(PKB和SKB)在计算上是容易的。 ② 发方A对消息m加密以产生密文c,即 c=EPKB[m] 在计算上是容易的。 ③ 收方B用自己的秘密钥对c解密,即m=DSKB[c]在计算上是容易的。 ④ 敌手由PKB求SKB在计算上是不可行的。 ⑤ 敌手由密文c和PKB恢复明文m在计算上是不可行的。 数论是密码学特别是公钥密码学的基本工具,本章首先介绍密码学中常用的一些数论知识,然后介绍公钥密码体制几种重要算法。 1. 费尔玛定理和欧拉定理 费尔玛 (Fermat) 定理和欧拉 (Euler) 定理在公钥密码体制中起着重要作用。 (1). 费尔玛定理 定理1 (Fermat)若p是素数,a是正整数且gcd(a, p)=1,则ap-1≡1 mod p。 定理2. 若n是两个素数p和q的乘积,则φ(n)=φ(p)×φ(q)=(p-1)×(q-1)。 2. 素性检验 素性检验是指对给定的数检验其是否为素数。对于大数的素性检验来说没有简单直接的方法,本节介绍一个概率检验法,为此需要以下引理。 引理 如果p为大于2的素数,则方程x2≡1(mod p)的解只有x≡1和x≡-1。 引理的逆否命题为:如果方程x2≡1 mod p有一解x0 {-1,1},那么p不为素数。 定理4.2 (Fermat)若p是素数,a是正整数且gcd(a, p)=1,则ap-1≡1 mod p。 Miller-Rabin的素性概率检测法(判断n是否为素数)。首先将n-1表示为二进制形式bkbk-1…b0,并给d赋初值1,则算法Witness(a,n)的核心部分如下:(a是小于n的整数) d ←1 for i=k downto 0 do {x←d; d←(x×x) mod n; if d=1 and(x≠1)and(x≠n-1)then return False; if bi=1 then d←(d×a) mod n } if d≠1 then return False; return True. 此算法有两个输入参数,n是待检验的数,a是小于n的整数。如果算法的返回值为False,则n肯定不是素数,如果返回值为True,则n有可能是素数。 for循环结束后,有d≡an-1 mod n,由Fermat定理知,若n为素数,则d为1。因此若d≠1,则n不为素数,所以返回False。 该算法有以下性质: 对s个不同的a,重复调用这一算法,只要有一次算法返回为False,就可肯定n不是素数。如果算法每次返回都为True,则n是素数的概率至少为1-2-s,因此对于足够大的s,就可以非常肯定地相信n为素数。 3. 欧几里得算法 欧几里得除法:是数论中的一个基本结论。 广义欧几里得除法:不仅可求两个正整数的最大公因子,而且当两个正整数互素时,还可求出其中一个数关于模另一个数的乘法逆元。 例4.4 由以下方程组求x。 5. 离散对数 设p是素数,a是p的本原根。 即a1,a2,…,ap-1在 mod p下产生1到p-1的所有值,所以对b∈{1,…,p-1},有惟一的i∈{1,…,p-1}使得b≡ai mod p。 称i为模p下以a为底b的离散对数,记为 i≡logab(mod p)。 已知a、p、i时,容易地求出b, 已知a、b和p,求i则非常困难。 定理 已知n为两个素数乘积, a是模n的平方剩余,则 求解方程x2≡a mod n与分解n是等价的。 4.3 RSA密码算法 4.3.1 算法描述-----密钥生成

文档评论(0)

3344483cc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档