Chinaunix

标题: 什么是数字签名? [打印本页]

作者: jiaojinxing    时间: 2011-01-18 17:32
标题: 什么是数字签名?

程序猿

(程序猿的 公钥)


(程序猿的 私钥)

程序猿有两个密钥,一个成为 公钥,一个成为 私钥。

程序猿的同事:

任何人都可以得到程序猿的 公钥,但他的 私钥 是只要自己可以拿到的。

程序猴子程序猩猩程序狒狒

程序猿的 公钥可以发放给任何想用的人,但私钥只能自己使用。 密钥可以加密信息。加密信息就是使信息打乱,因此,只有拥有正确密钥的人才可以读取。 只有用程序猿的两个密钥加密信息,另一个密钥才能解开这些信息。

程序狒狒使用程序猿的公钥加密一段信息,程序猿可以使用自己的私钥反解出信息原文。其他人也可以得到程序狒狒的机密信息,但没有程序猿的私钥,这些信息只能看见密文,密文使不可读的。

"猿猿,我欠你的一万块钱不还了!-狒狒"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