- 1、本文档共102页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 公钥密码 本章提要 4.1 密码学中常用数学知识 4.2 公钥密码体制的基本概念 4.3 RSA算法 4.4 背包体制 4.5 Rabin体制 4.6 NTRU公钥密码系统 4.7 椭圆曲线密码体制 4.8 基于身份的密码体制 4.1 密码学中的常用数学知识 群、环、域、素数 模运算 费尔马定理 ap-1=1 mod p ,p是素数 欧拉函数 ?(n):小于n的且与n互素的正整数个数 a?(n)=1 mod n 素性检验 1.爱拉托斯散筛法(Eratosthenes) 依次删去小于 素数的倍数 2. Miller-Rabin概率检测法√ 3.AKS 扩展欧几里德算法,求逆元 计算d mod f 的逆元 1. (X1, X2, X3)?(1, 0, f); (Y1, Y2, Y3)?(0, 1, d); 2. if Y3=0, then return X3=gcd(f, d) 3. if Y3=1, then return Y3=gcd(f, d); Y2=d-1 mod f 4. Q=?X3/Y3? 5. (T1, T2, T3)?(X1-QY1, X2-QY2, X3-QY3); 6. (X1, X2, X3)?(Y1, Y2, Y3) 7. (Y1, Y2, Y3) ? (T1, T2, T3) 8. goto 2 Miller-Rabin概率检测法 原理:若p是大于2的素数,则x2=1 mod p只有1和-1两个解,所以如果方程x2=1 mod p有一解x0?{-1, 1},那么p不为素数 算法:(an是随机选择的一个数,n是待检验的数,返回False则一定不是素数,返回True则不一定是素数) 令d=1;n-1的二进制表示为bkbk-1…b0 for i=k downto 0 do { x?d; d?(d?d) mod n; (此时d刚好是x的平方) 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; 循环结束后有d=an-1 mod n,若d?1,则n不是素数。 x?1 and x?n-1 意指x2=1 mod p有不在{-1, 1}中的根 该测试如果进行s次,如果都是真T,则n是素数的概率最小为1-2-s 4.2 公钥密码体制的基本概念 公钥密码体制的出现在密码学史上是一个最大的而且是惟一真正的革命。为密码学发展提供了新的理论和技术基础 公钥密码算法基本工具不再是代换和置换,而是数学函数 以非对称的形式使用两个密钥,两个密钥的使用对保密性、密钥分配、认证等都有着深刻的意义。 公钥密码体制的概念是在解决单钥密码体制中最难解决的两个问题时提出的,即密钥分配和数字签字 对称密码算法的缺陷 密钥分配问题: 通信双方加密通信前要通过秘密的安全信道协商加密密钥,这种安全信道可能很难实现;对这个信道安全性的要求比正常传送消息信道的安全性要高 密钥管理问题: 在多用户网络中,任何两个用户之间都需要有共享的秘密钥,n个用户需要Cn2=n(n-1)/2个密钥,n=5000时,Cn2=12,497,500,系统开销非常大 没有签名功能: 当主体A收到主体B的电子文挡时,无法向第三方证明此电子文档确实来源于B, 传统单钥加密算法无法实现抗抵赖的需求 公钥密码的主要作用 公钥加密 用于加密任何消息,象分组密码一样使用 任何人可以用公钥加密消息,私钥的拥有者可以解密消息 数字签名 (Digital Signature) 用于生成对某消息的数字签名 私钥的拥有者生成数字签名,任何人可以用公钥验证签名 签名时可将公钥加密算法逆用来实现,也可单独设计公钥签名算法 基于公钥的密钥分配(Key Distribution) 用于交换秘密信息,常用于协商对称加密算法的密钥 可采用公钥加密的算法实现密钥分配 也可使用单独设计的密钥交换算法,如DH密钥交换协议实现密钥分配 其它应用: 零知识证明,公平抛币等等,(用于各种目的的认证) 参考资料:《公钥密码学》等 4.2.1 公钥密码体制的原理 公钥密码算法的最大特点是采用两个相关密钥将加密和解密能力分开 一个密钥是公开的,称为公开密钥,简称公开钥,用于加密、验证签名,可以被任何人知道 另一个密钥是为用户专用,因而是保密的,只能被消息的接收者或签名者知道,称为秘密密钥,简称秘密钥,用于解密、产生签名 因此公钥密码体制也称为双钥密码体制 算法有以下重要特性: 已知密码算法和加密密钥,求解密密钥在计算上是不可行的 因此加密和签名的验证者不能解密和生成签名 公钥体制的加密
文档评论(0)