1、对称加密:对称加密算法生成一个密钥,a和b之间通信均用该密钥加解密,存在一个问题,如何保证a和b安全地拿到该密钥,即存在鸡生蛋和蛋生鸡的问题;
2、非对称加密:非对称加密算法生成一个公钥一个私钥,明文经过公(私)钥加密后只能用私(公)钥解密
应用一:加密通信
1.首先b需要使用非对称加密算法生成密钥和公钥,密钥自己保留,公钥对外公布。
2.a拿到b的公钥后,便可以对想要发送的消息进行加密,然后将密文发送给b。
3.b收到消息后,用自己的私钥进行解密,还原出消息原文。
应用二:数字签名
1、 a将想要发送的消息和a的公钥绑定,并用a的私钥进行加密生成数字签名,再将a想要发送的消息、a的公钥、a的数字签名一起发送给b;
2、b拿到a发送的消息后,用a的公钥解密a的数字签名,将解密后的内容和a想要发送的消息对比,如果完全一样,则证明是a发送的消息,且中途未被篡改,
因为只有a才有a的私钥;