« 苏K | 首页 | wwwiz@rd »

mazhechao

个人主页: http://mindsfree.info

留言(7 条)

数字签名是什么? 留言:

我怎么觉得我开始有点理解goool的意思了。。。

数字签名是什么? 留言:

@goool:

价值就在于我能解开这个签名,能够解开这个签名本身就是有意义的——消息是Bob发出的,Bob不能否认消息是他发的,不是Bob的人也不能说是他自己发的,即实现了数据的抗否认性。至于hash值不hash值的,其意义体现在第9步,实现的是数据的完整性。这是两个完全不同的概念。原文分两步阐述,没有任何问题。

数字签名是什么? 留言:


引用goool的发言:


实际上 Bob 的 “数字签名” 可以用任何人的公钥解密,得到一个 hash 值。如果不加上第 9 步(比对原文的 hash值)。这个第 8 步得不到任何有价值的信息。


Bob的签名怎么会可以用任何人的公钥解密?Bob是用他的私钥签的啊,当然只有用Bob的公钥才能解密。再次强调,对比Hash值是为了验证数据的完整性

Yonny兄弟说的有道理。

数字签名是什么? 留言:


引用febird的发言:


有个疑问,鲍勃的证书中鲍勃的公钥有没有被加密?

2. 如果鲍勃的公钥被加密,同时CA的公钥也在证书中附送,那加密鲍勃公钥有什么意义?



确实是被加密的(被CA的私钥加密),但这里的意义不在加密(数据的保密性),而是保证证书是由CA签发的。

2. Bob的公钥被用于后续的会话密钥(session key)交换时的加密传输。

数字签名是什么? 留言:


引用Michael.Z的发言:


公钥和私钥的算法是一样的吗?为什么私钥加密可以用公钥解密?



私钥和公钥在算法上是等价的,只不过一个是private,一个是public。这个应该是由密钥生成算法保证的。

数字签名是什么? 留言:


引用goool的发言:


8 的说法有问题,只此一步,是无法确定信由鲍勃发出的。

必须 8 9 两步都完成了,才能确定:信由鲍勃发出,信未修改。


20.如果数字证书是可靠的,客户端就可以使用证书中的服务器公钥,对信息进行加密,然后与服务器交换加密信息。



8的说法没有问题,就这一步就可以保证信由Bob发出的。因为消息是由Bob的私钥签名的,只有Bob本人才有他的私钥,所以能用Bob的公钥解密的,一定是Bob发出的。
8实现了抗否认性,9实现的是完整性。这是两个不同的概念。

数字签名是什么? 留言:


引用Ciger的发言:


通常公开钥算法用于相互验证,之后会建立session key(比如128位AES key)。后续交互的信息都是用session key和对称加密算法(比如AES)来加解密的,已经与证书本身和公钥密钥无关。因为公开密钥算法比对称密钥算法开销大很多。不过HTTPS不了解,不敢定论。



你说的对,就是这样的。