加密与解密,验签

密码技术对于通信安全至关重要,它主要源于两个方面,加密/解密和签名/验签。

加密与解密:

当Master给Ghost通信,需要加密内容,那么Ghost会生成一个秘钥对,Ghost的公钥ghost-public-pem和私钥ghost-private-pem。Ghost把公钥公开发送给发送者,任何人都可以用来加密,然后Master用ghost-public-pem进行加密,然后把内容发送给Ghost,Ghost在使用使用ghost-private.pem进行解密。

签名与验签:

在以上通过加密解密通信的基础上,由出现了一个新的问题,窃听者可能会篡改通信内容,如何保证原始内容没有被篡改呢?这就需要签名与验签。

简而言之,就是用hash对data进行摘要digest,在对digest用私钥加密,生成“数字签名”,附在data之后,接受者使用公钥对digest解密,解密成功说明是发送者发送的。同时对data进行hash,将得到的digest与数字签名中的digest比较,若两者一致,则说明data未被修改。

参考资料:http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

你可能感兴趣的:(加密与解密,验签)