2﹒2公钥密码体制.pptVIP

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2﹒2公钥密码体制

公钥密码学 公钥密码学 公钥密码学思想 RSA算法 公钥的应用 密码体制产生 俄罗斯人邮寄盒子的故事 公钥密码体制 传统密码中的两个问题 密码学革命 公钥密码体制特点 用公钥进行加密 用公钥进行认证 用公钥进行认证:问题?? 公钥密码体制的种类 对公钥密码体制的要求: 只有两个算法被普遍接受 单向陷门函数(1) 单向陷门函数(2) 困难程度 举例 打碎/拼接、平方/开方、乘法/分解 * 单向函数存在否 尚无严格的数学证明 单向陷门函数(3) 单向陷门函数 如果知道某个陷门(秘诀),即能容易恢复x (陷门即为私钥) 举例 魔方的置乱/恢复 如果有那个口诀,就能很快恢复 RSA 算法 先从一个简单例子开始 给出算法 证明 1.素数:素数是一个比1大,其因子只有1和它本身,没有其它数可以整除它的数。素数是无限的。例如,2,3,5,7……等。 2.两个数互为素数:指的是它们除了1之外没有共同的因子。也可以说这两个数的最大公因子是1。例如,4和9,13和27等。用gcd(x,y)=1表示x和y互素。 3.模运算:如A模N运算,它给出了A的余数,余数是从0到N-1的某个整数,这种运算称为模运算。 4.Euler 函数:设p=3, q=5, 那么φ(15)=(3-1)*(5-1)=8,这8个模15的剩余类是:{1,2,4,7,8,11,13,14},其中剩余类是在1至14中除掉是3和5倍数的数,即除掉{3,5,6,9,10,12}。 补充一些数学知识 同余 a ≡ b mod m B ≡ mod m a ≡ c mod m 补充一些数学知识 欧拉函数 不超过n,且与n互素的正整数个数,Ф(2)=1。 推论:任何自然数都可以表示为素数米的乘积。6=2*3 Ф(p)=p-1 RSA加密算法实现过程 (1)取两个随机大素数p和q(保密)。 (2)计算公开的模数n=pq(公开)。 (3)计算秘密的欧拉函数?(n)=(p-1)(q-1)(保密),两个素数p和q不再需要,应该丢弃,不要让任何人知道。 (4) 随机选取整数e,满足gcd(e, ?(n))=1(公开e,加密密钥)。 计算d,满足de≡1(mod ?(n))(保密d,解密密钥,陷门信息)。 (5)将明文x(其值的范围在0到n-1之间)按模为n自乘e次幂以完成加密操作,从而产生密文y(其值也在0到r-1范围内) y=xe (mod n)。 将密文y按模为r自乘d次幂,完成解密操作  x=yd (mod n)=xed mod n=x。 简单例子 RSA 示例总结 选p=7,q=17 则n=pq=119 且φ(n)=(p-1)(q-1)=6×16=96 取e=5 则d=77 (5×77=385=4×96+1≡1 mod 96) 公钥(5,119),私钥(77,119) 加密m=19 则c=me mod n= 195 mod 119 = 66 mod 119 解密c=66 m=cd mod n = 6677mod 119=19 mod 119 RSA算法总结:密钥产生 找素数 选取两个大的随机的素数p,q 计算模n和Euler函数φ(n) n=pq φ(n)=(p-1)(q-1) 找ed≡1 mod φ(n) 随机取一个数e(与φ(n)互素),用扩展Euclid算法求d即可 发布 d保密,(d, n)是私钥 Ks 发布(e,n),这是公钥Kp 销毁p、q 【例1】 取两个素数p=11,q=13,p和q的乘积为r=p×q=143,算出秘密的欧拉函数?(r)=(p-1)×(q-1)=120,再选取一个与?(r)=120互质的数,例如e=7,作为公开密钥,e的选择不要求是素数,但不同的e的抗攻击性能力不一样,为安全起见要求选择为素数。对于这个e值,可以算出另一个值d=103,d是私有密钥,满足e×d=1 mod ?(r),其实7×103=721除以120确实余1。欧几里德算法可以迅速地找出给定的两个整数a和b的最大公因数gcd(a,b),并可判断a与b是否互素,因此该算法可用来寻找解密密钥。 120=7×17+1 1=120-7×17 mod 120=120-7×(-120+17)mod 120 =120+7×103 mod 120 (r,e)= (143,7) 这组数公开,即公钥,(r,d)=(143,103)这组数保密,为私钥 设想需要发送信息x=85。利用(n,e)=(143,7)计算出加密值: y= xe(mod n)=857 mod 143=123 收到密文y=123后,利用(n,d)=(143,103)计算明文: x=yd(mod n)=1

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档