密码学 / 什么是数字签名
1、場(chǎng)景
發(fā)送方 A 需要給 B 發(fā)送一條消息,為了保證數(shù)據(jù)的完整性,A 在消息的后面添加該消息的 hash 值。
問(wèn)題:由于消息是明文的,中間人可以截獲該消息并生成新消息的 hash 發(fā)給 B。
為了解決上述問(wèn)題,有如下方案:
(1)這條消息用 A 和 B 共享的密鑰進(jìn)行對(duì)稱加密。
(2)hash 值用 A 和 B 共享的密鑰進(jìn)行對(duì)稱加密。
(3)計(jì)算 hash 值時(shí)加入 A 和 B 共享的秘密值 S 。
2、數(shù)字簽名
將上述方法(2)中加密 hash 值用的共享密鑰換成 A 的私鑰,即:A 使用自己的私鑰對(duì) hash 值進(jìn)行非對(duì)稱加密,這樣的 hash 值就是數(shù)字簽名了。因?yàn)樵?hash 值被 A 私鑰加密了,只有 A 有私鑰,就像?A 的簽名一樣。上述過(guò)程就是數(shù)字簽名技術(shù)的本質(zhì)所在。
如果在數(shù)字簽名的基礎(chǔ)上,再加入上述方案中的(1),則既實(shí)現(xiàn)了對(duì)消息本身的保密性又實(shí)現(xiàn)了數(shù)字簽名。
3、總結(jié)
保密性數(shù)字簽名的步驟如下:
(1)對(duì)消息 hash,并將該值放入消息后面。
(2)用發(fā)送者的私鑰對(duì) hash 值進(jìn)行非對(duì)稱加密,生成數(shù)字簽名。
(3)用共享密鑰對(duì)消息和數(shù)字簽名進(jìn)行對(duì)稱加密。
?
(完)
總結(jié)
以上是生活随笔為你收集整理的密码学 / 什么是数字签名的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 密码学 / 哈希算法
- 下一篇: 通信 / HTTPS 过程详解