alias在加密时使用的密钥和bob在解密时使用的密钥可能是不一样的。
根据加密密钥和解密密钥相同与否,我们可以把加密方法分为两大常见的密钥体制,
1、对称密钥加密

密码分发?
2、公开密钥加密



-------------------------------------------------------------------------------------------------------

传统加密方法还有:多码(字母)替代加密、换位密码






RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。
RSA是三人姓氏开头字母拼在一起组成的。






RSA加密算法计算量很大,我们可以用它来分发密钥,然后
利用对称密钥发生信息。
在我们实际的应用中,我们会看到很多安全的解决方案中,
RSA加密算法会和对称密钥联合使用。

身份认证































这个报文认证方案是否解决了报文完整性的问题?
如果接受报文的一方Alice在持有的过程中,把内容修改了,
因为Alice知道与Bob共享的认证密钥s,她可以伪装一个s',这样就违反了报文完整性中的预防抵赖。
所以这时报文完整性也受到了破坏。
那么为了解决这样的问题怎么办?那么就需要使用在现代网络安全中被广泛使用的技术,数字签名。

数字签名

我们很容易想到不可能利用对称密钥实现数字签名。




例如RSA算法,计算量非常大,签名要和报文一起发送到接收端,要传输两倍的内容,
因此我们要改进这个签名。改进应该怎么做呢?报文摘要
我们在签名的时候不用用原报文进行加密,我们仅仅利用报文摘要就可以实现同样的数字签名效果。
因此现在大多都是利用报文摘要来实现数字签名。