2011年软考系统架构设计师学习笔记第十一章2
2、不对称密码加密算法
不对称密码体制又称 双密钥和公钥密码体质,1976年 由 Diffie 和 Hellman 提出的。
私钥秘密保存。
不需要事先通过安全秘密管道交换密钥。
RSA 的安全性依赖于大素数分解。公钥和私钥 都是两个大素数(大于100个十进制位的函数)。
据猜测,从一个密钥和密文中,推断出明文的难度等同于分解两个大素数的积。
具体操作时 考虑到 安全性 和 M信息量 较大等因素,一般是先做 HASH 运算。
速度慢一直是 RSA 的缺陷,因此一般来说,RSA只用于少量数据加密。
11.1.2 散列函数与数字签名
1、MD5 散列算法
散列函数是一种公开的数学函数。散列函数运算的输入信息叫做 报文,运算后所得的结果叫做散列码或消息摘要。
特点:
1. 给定 M,要找到另一消息 M,使 H(M)= H(M)很难。
2. 散列函数都是单向的,反推M很难。
3. 对于任何一个报文,无法预知它的散列码。
4. 散列码具有固定的长度,不管原始报文长度如何。
常见的散列函数有:MD5、SHA、HMAC 等。
MD5(Message Digest 5)已成为国际标准,产生128位(16字节)长度的散列值(或称 消息摘要)。
通过以下4个步骤:
1. 附加填充位,填充后数据长度 MOD 512 后 余 448。如果数据长度正好 MOD 512 余 448,增加 512 个填充位,填充个数也就是1~512。
填充位第一个为 1,其余全部是 0。
2. 补足长度。
3. 初始化MD缓存器。
4个32位寄存器,A、B、C、D,初始化为:
A: 01 23 45 67
B: 89 AB CD EF
C: FE DC BA 98
D: 76 54 32 10
4. 处理数据段。
2、数字签名与数字水印
1. 数字签名可以解决 否认、伪造、篡改、冒充 等问题。
凡是需要对用户身份进行判断的情况 都可以使用数字签名。
三个过程:系统的初始化过程、签名产生过程、签名验证过程。
签名者必须注意保护好私有密钥,因为它是公开密钥体系安全的重要基础。
如果密钥丢失,应该立即报告鉴定中心取消认证,鉴定中心必须能够迅速确定用户的身份及其密钥的关系。
RSA、ElGamal、Fiat-Shamir、美国的数字签名标准/算法(DSS/DSA)、椭圆曲线 等多种。
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>