![]() 程序猿 | ![]() | ![]() (程序猿的 公钥)
|
程序猿有两个密钥,一个成为 公钥,一个成为 私钥。
程序猿的同事: | ||||
![]() | ![]() | ![]() | ![]() | ![]() 任何人都可以得到程序猿的 公钥,但他的 私钥 是只要自己可以拿到的。 |
程序猴子 | 程序猩猩 | 程序狒狒 |
程序猿的 公钥可以发放给任何想用的人,但私钥只能自己使用。 密钥可以加密信息。加密信息就是使信息打乱,因此,只有拥有正确密钥的人才可以读取。 只有用程序猿的两个密钥加密信息,另一个密钥才能解开这些信息。
程序狒狒使用程序猿的公钥加密一段信息,程序猿可以使用自己的私钥反解出信息原文。其他人也可以得到程序狒狒的机密信息,但没有程序猿的私钥,这些信息只能看见密文,密文使不可读的。
![]() | ![]() | "猿猿,我欠你的一万块钱不还了!-狒狒" | ![]() | HNFmsEm6Un BejhhyCGKOK JUxhiygSBCEiC 0QYIh/Hn3xgiK BcyLK1UcYiY lxx2lCFHDC/A |
![]() | ![]() | HNFmsEm6Un BejhhyCGKOK JUxhiygSBCEiC 0QYIh/Hn3xgiK BcyLK1UcYiY lxx2lCFHDC/A | ![]() | "猿猿,我欠你的一万块钱不还了!-狒狒" |
借助一个合适的软件,程序猿可以给一个文档或者数据生成一个数字签名。 数字签名就好像是程序猿盖在数据上的个人的印章,这个印章很难伪造。 通过这个印章,我们就能看出这个文件在传播途中是否被篡改。
![]() | ![]() | ![]() |
![]() | 给一个文档签名,是用叫做“哈希”的算法对数据生成一个信息量很少的字符串。 这个字符叫做“散列值”。(通过散列值是无法还原出原来的信息的。) |
![]() | ![]() | ![]() |
程序猿用他的私钥加密这段“散列值”,得到的值就叫做“数字签名”。
![]() | ![]() | ![]() |
程序猿给文档加上了数字签名,生成的散列值也被签名。
![]() | ![]() | ![]() |
![]() | ![]() |
程序猿把这个文档传给程序猴子。
![]() | 首先,程序狒狒用户程序猿的公钥还原出文档的散列值(哈希值)。 如果正确,它验证程序猿的散列值是否跟文档所产生的一致。 首先,程序狒狒得到文档的哈希值,然后把此值跟数字签名还原出的散 |
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |