数字摘要/数字签名/数字证书

数字摘要

通过哈希函数将任意长度的消息转换成定长的消息。对于两个不同的消息,哈希后得到的结果必定是不一样的。同一个消息哈希总是得到一样的值。
因此这个哈希函数非常关键,碰撞概率要非常小。常见的算法有SHA和MD5。

数字签名

非对称加密比较适合用来传输短消息,对称加密比较适合传输长消息。
1.发送方用加密函数对发送内容加密生成数字摘要A。
2.发送方用非对称加密的公钥对数字摘要加密,得到数字签名。
3.发送方将数字签名连同发送的内容发送给接收方
4.接收方用私钥解密数字签名,得到数字摘要。
5.接收方用同样的加密函数对发送内容生成数字摘要B。
6.接收方将数字摘要A与数字摘要B对比。如果一样,则表明发送的内容没有被篡改。

在这个过程中,主要使用数字摘要和非对称加密两种技术。非对称加密则使用了私钥加密公钥解密来验证发送方的正确性。
可见,数字签名主要作用有两点:1.保证消息的完整性;2.保证发送方的不会被仿冒

数字证书

数字签名技术的问题在于,假如有第三方F拿到了发送方S的公钥,同时他将自己的公钥伪造成S的公钥发送给接收方R。当R用F给的假冒公钥加密信息发送给S,F设法截获这个信息,然后再利用S的公钥进行加密发送给R,那么S的信息被篡改后R就没法发现。问题的原因在于S拿到了一个假的公钥。
为了解决这个公钥信任问题,数字证书出现了。
数字证书由证书机构发放,里面包含了服务提供方S的公钥和个人信息等 。服务请求方需要先向证书机构获取S的证书,然后用证书机构的公钥解密得出S的公钥,然后再利用该公钥进行数字签名既可。
服务提供商S则需要预先向证书机构注册,提供自己的信息和公钥。证书机构会将其制作成数字证书,然后发放给服务请求方。

你可能感兴趣的:(数字摘要/数字签名/数字证书)