![]() 小罗 |
![]() |
![]() (小罗的公钥) |
小罗已经拥有两个钥匙。一个称为“公钥”,另一个称为“私钥”。
| 小罗的工作伙伴: | ||||
![]() |
![]() |
![]() |
![]() |
![]() 任何人都可以获得小罗的公钥, 但是私钥只能小罗自己拥有。
|
| 小朱 | 小王 | 小方 | ||
小罗的公钥可以给任何需要使用它的人,当时私钥只能它自己拥有。钥匙是用来加密数据用的,加密数据的意思就是“把数据打乱”,因此,只有当某个人拥有适当的钥匙才可以从新还原打乱的数据。 小罗的两把钥匙之中的任意一个都可以加密数据,另一个则可以解密数据。
小方(如下)可以使用小罗的公钥加密数据。小罗则使用他的私钥解密数据。任何一个小罗的同事如果获得了小方加密过的数据,但没有得到小罗的私钥,因此这这个加密的数据对于他们毫无疑义。
![]() |
![]() |
"哈喽!小罗,今天中午去吃兰州拉面,据说那里拉面打8折!" | ![]() |
HNFmsEm6Un BejhhyCGKOK JUxhiygSBCEiC 0QYIh/Hn3xgiK BcyLK1UcYiY lxx2lCFHDC/A |
![]() |
![]() |
HNFmsEm6Un BejhhyCGKOK JUxhiygSBCEiC 0QYIh/Hn3xgiK BcyLK1UcYiY lxx2lCFHDC/A | ![]() |
"哈喽!小罗,今天中午去吃兰州拉面,据说那里拉面打8折!" |
使用小罗的私钥和相应的软件工具, 他可以把数字签名嵌入文档和其他数据当中。一个数字签名好比贴在数据上的“邮戳”从而表示自己的独一无二,并且很难伪造。另外,数字签名保证任何对数据的篡改都会被发现。
![]() |
![]() |
![]() |
![]() |
为了对文档进行签名,小罗的软件将会把数据处理转化成十分简短的几行内容(这个过程我们称为‘哈希’处理). 这几行简短的内容短文被称为‘数据摘要’。(一但数据被‘哈希’处理后的数据摘要,无法再还原) |
![]() |
![]() |
![]() |
然后,小罗的软件将数据摘要与他的私钥进行加密。得到的加密结果就是数字签名。
![]() |
![]() |
![]() |
最后, 小罗的软件把数据签名追加到文档内容当中。所有哈希过数据摘要便被签名保护了。
![]() |
![]() |
![]() |
![]() |
![]() |
小罗这个时候便把文档传送给小朱。
![]() |
首先,小朱的软件使用小罗提供的公钥文档进行解密,还原出文档原文。如果成功,则证明是小罗的数字签名过的文档,因为只有小罗拥有私钥可以加密这个文档。小朱继续使用软件对文档内容进行哈希处理成数据摘要。如果这个数据摘要和签名解密后得的数据摘要内容一致,便证明这份文档没有被篡改过。 |
以上内容由罗威尔译于2008年01月09日