什么是数字签名?什么是数字信封?他们如何使⽤
这⾥先普及⼀下数字加密的技术:
⼀、数字加密技术
1) 单钥密码体制/对称密码体制
指加密密钥和解密密钥为同⼀密钥的密码体制,因此通信双⽅必须共同持有该密钥。
DES、AES是⼀种对称密码体制
2) 双钥密码体制/⾮对称密码体制/公开密钥密码体制
指加密密钥和解密密钥为两个不同密钥的密码体制;这两个密钥之间存在着互相依存关系,即其中任⼀个密钥加密的信息只能⽤另⼀个密钥进⾏解密。
RSA、DSA是⼀种公钥密码体制。
3) 总结:
对称密码和公钥密码都需要保证密钥的安全,不同之处在于密钥的管理和分发上⾯。在对称密码中,必须要有⼀种可靠的⼿段将加密密钥(同时也是解密密钥)告诉给解密⽅;⽽在公钥密码体制中,这是不需要的。解密⽅只需要保证⾃⼰的私钥的保密性即可,对于公钥,⽆论是对加密⽅⽽⾔还是对密码分析者⽽⾔都是公开的,故⽆需考虑采⽤可靠的通道进⾏密码分发。这使得密钥管理和密钥分发的难度⼤⼤降低了。
4) 分清概念:加密和认证
加密是将数据资料加密,使得⾮法⽤户即使取得加密过的资料,也⽆法获取正确的资料内容。其重点在于数据的安全性。
⾝份认证是⽤来判断某个⾝份的真实性,确认⾝份后,系统才可以依不同的⾝份给予不同的权限。其重点在于⽤户的真实性。
两者的侧重点是不同的。
5) 摘要算法
摘要算法,⼜叫作Hash算法或散列算法,是⼀种将任意长度的输⼊浓缩成固定长度的字符串的算法(不同算法散列值长度不⼀样),注意
是“浓缩”⽽不是“压缩”,因为这个过程是不可逆的。它的特点是:
a) 不同内容的⽂件⽣成的散列值⼀定不同;相同内容的⽂件⽣成的散列值⼀定相同。由于这个特性,摘要算法⼜被形象地称为⽂件的“数字指纹”。
b) 不管⽂件多⼩(例如只有⼀个字节)或多⼤(例如⼏百GB),⽣成的散列值的长度都相同。
⼆、数字签名与数字信封
字符串是什么样公钥密码体制在实际应⽤中包含数字签名和数字信封两种⽅式
1) 数字签名
指⽤户⽤⾃⼰的【私钥】对原始数据的哈希摘要进⾏加密所得的数据。数字签名定义两种互补的运算:⼀个⽤于签名,另⼀个⽤于验证。"私钥签名,公钥验证"
签名:发送⽅⽤特殊的hash算法,由明⽂中产⽣固定长度的【摘要】,然后利⽤⾃⼰的私钥对形成的摘要进⾏加密,这⾥加密后的数据就是数字签名。
验证:接受⽅利⽤发送⽅的公钥解密被加密的摘要得到结果A,然后对明⽂也进⾏hash操作产⽣摘要B.
最后,把A和B作⽐较。此⽅式既可以保证发送⽅的⾝份正确性,⼜可以保证数据在传输过程中不会被篡改。
数字签名(Digital Signature)技术是不对称加密算法的典型应⽤。保证信息传输的完整性、发送者的⾝份认证、防⽌交易中的抵赖发⽣。
2) 数字信封
数字信封的功能类似于普通信封。普通信封在法律的约束下保证只有收信⼈才能阅读信的内容;数字信封则采⽤密码技术保证了只有规定的接收⼈才能阅读信息的内容。
数字信封中采⽤了单钥加密体制和公钥密码体制。信息发送者⾸先利⽤随机产⽣的【对称密码】加密信息(因为⾮对称加密技术的速度⽐较慢),再利⽤接收⽅的【公钥】加密对称密码,被公钥加密后的对称密钥被称之为数字信封。在传递信息时,信息接收⽅要解密信息时,必须先⽤⾃⼰的私钥解密数字信封,得到对称密码,才能利⽤对称密码解密所得到的信息。
数字信封既发挥了对称加密算法速度快、安全性好的优点,⼜发挥了⾮对称加密算法密钥管理⽅便的优点。
三、应⽤⽰例
1. 为了保证信息传送的真实性、完整性和不可否认性,需要对要传送的信息进⾏数字加密和数字签名。其传送过程如下:发送者A:
1) A准备要传送的数字信息(明⽂)
2) A对数字信息(明⽂)进⾏哈希(hash)运算,得到⼀信息摘要。
3) A⽤⾃⼰的【私钥(SK)】对信息摘要进⾏加密得到A的数字签名,并将其附在数字信息上。(数字签名)
4) A随机产⽣⼀个加密钥(DES密钥),并⽤此密钥对要发送的信息(明⽂)进⾏加密,形成密⽂。(对称加密)
5) A⽤B的【公钥(PK)】对刚才随机产⽣的加密密钥进⾏加密,将加密后的DES密钥连同密⽂⼀起传送给B。(数字信封)接收者B:
1) B收到A传送过来的密⽂和加过密的DES密钥,先⽤⾃⼰的私钥(SK)对加密的DES密钥进⾏解密,得到DES密钥。
2) B然后⽤DES密钥对受到的密⽂进⾏解密,得到明⽂的数字信息,然后将DES密钥抛弃(即DES密钥作废)。
3) B⽤A的公钥(PK)对A的数字签名进⾏解密,得到信息摘要。
4) B⽤相同的has算法对收到的明⽂再进⾏⼀次hash运算,得到⼀个新的信息摘要。
5) B将收到的信息摘要和新⽣成的信息摘要进⾏⽐较,如果⼀致,说明收到的信息没有被修改过。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论