3-3-公钥密码学和RSA.pptVIP

  1. 1、本文档共45页,可阅读全部内容。
  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文档。上传文档
查看更多
3-3-公钥密码学和RSA

密码学与数学 “没有公钥密码的研究就没有近代密码学。” 而在密码学的发展过程中,数学中许多分支如数论、概率统计、近世代数、信息论、椭圆曲线理论、算法复杂性理论、自动机理论、编码理论等都可以在其中找到各自的位置。 卢开澄 编著《计算机密码学——计算机网络中的数据必威体育官网网址与安全》 3.4 公钥密码学和RSA算法 公钥密码学思想(回顾) 经典公钥加密算法:RSA算法 数论 一、公钥密码学思想 1、公钥密码学的提出——密码学的重要进步 “New Directions in Cryptography” Whitfield Diffie,Hellman 1976 提出了公钥密码算法的概念和思路 提出了鉴别和签名问题 提出了D-H密钥协商协议 2、公钥密码算法的思路 对称算法的缺陷 为事先协商密钥,需另外的安全信道或KDC 密钥管理量庞大、复杂 不能满足签名的需求 非对称算法 密钥对 K =(Kd,Ke),Kd即私钥 Ke即公钥 (用于加密的是公钥) 加密:E(P,Ke)= C 解密:D(C,Kd)= P 要求知道公开密钥也无法计算出秘密密钥 Ke Kd 理论上能够实现,实际计算量大,实现比较困难 3、公钥密码算法的实现 非对称体制则基于某些数学特性 利用公钥对明文进行计算 利用私钥对密文计算后可恢复得到明文 虽然公钥公开,但由它推导私钥即使理论可能,但计算困难 使用公钥密码学通信 Alice和Bob选用一个公开密钥密码系统 Bob将他的公开密钥传送给Alice Alice用Bob的公开密钥加密她的消息,然后传送给Bob Bob用他的私人密钥解密Alice的消息。 4、公钥算法建立 构造一种算法,实现明文到密文的转换过程中可以有一对关键信息。 每个用户生成密钥对(Ke、Kd) Ke或Kd是一个或几个数(大数) 符合计算特性的数,而不象对称算法的密钥 secret key是随机比特 Ke需要公开(公钥: public key ,encrypt key ) Kd得自己秘密保留(私钥:private key, decrypt key,) 6、公钥算法加密 加密(如果有人要给该用户发送消息P) 先获得该用户的公开钥Ke 加密 C = E(P,Ke)或写成 C = EKe(P) 传输 解密 D(C,Kd)=P 除非拥有Kd,否则不能解开 算法实现 1977年,R, S, A Ron Rivest /~rivest/ Adi Shamir http://www.wisdom.weizmann.ac.il/~shamir/ Len Adleman /dept/molecular-science/ 二、数论知识 素数 模运算 定理 1、数 每一个自然数都有正因数(因数又称约数)例如: 1有一个正因数;2,3,5都有两个正因数,即1和其本身;4有三个正因数:1,2,4;可见,自然数的正因数,有多有少。除了1以外,每个自然数都至少有两个正因数。 把只有“1和其本身”两个正因数的自然数称为质数(又称素数); 把正因数多于两个的自然数称为合数; 全体自然数分成三类:1、质数、合数 最小的质数是2,质数有很多应用性好的计算性质 2、素数性质 两个数互素,即最大公因子是1,记为gcd(*,*) = 1 求最大公因子 gcd(a,b)的算法有:欧几里德Euclid辗转相除法;stein算法 素数和谁都互素,除了他的倍数 任一个数总可以写成一系列素数的乘积,而且写法唯一 a=p1a1 × p2a2 × p3a3 × …… × ptat 36=2×2×3×3=22×32 3、模运算 即求余运算(C语言中的运算符%) m mod n=a 0≤an, 且有k使m=kn+a 同余关系:x mod n=y mod n = a 记做:x≡y mod n,称:x,y同余 则: x=k1*n+a;y=k2*n+a 所以:两数同余也说明两数相差n的倍数 计算:59≡?mod 7 模运算性质 a+b mod n = (a mod n+b mod n) mod n a-b mod n = (a mod n-b mod n) mod n a×b mod n = (a mod n×b mod n) mod n 其他性质 交换律 结合律 分配律 4、定理 1)Fermat费尔马小定理: 若p是素数;a不是p的倍数,则 ap ≡ a mod p 即 2)欧拉函数Φ(n):定义为小于n且与n互素的正整数个数。 n为素数时,Φ(n)=n-1 n=p×q,若p、q都是素数,则: Φ(n) =Φ(p×q)=φ(p)φ(q) =(p-1)(q-1) 即: 素数的欧拉函数值为该数本身减1 两个素数的积的欧拉函数结果是这两个数各自的欧拉函

文档评论(0)

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

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

1亿VIP精品文档

相关文档