对称加密
分类
- 数据加密标准DES(56位密钥长度,密钥太短,抗穷举能力差,安全性不够)
- 三重DES-DESede(112和168两种密钥长度,抗穷举能力显著增强, 但由于进行了多重des迭代,造成处理速度慢,效率不高)
- 高级数据加密标准AES(128和192及256三种密钥长度,搞穷举能力强,速度比des系列加密快,为替代des系列加密算法而生)
对称加密步骤
- 由消息传递双方约定密钥
- 消息发送方使用密钥对明文加密,并将密文发送给接收方
- 消息接收方使用密钥对密文解密获取明文
对称加密的问题
- 甲与乙通信,甲乙事先需要打电话或者发邮件或者面对面约定密钥key1
- 甲与丙通信,甲丙事先需要打电话或者发邮件或者面对面约定密钥key2
- 甲与丁通信,甲丁事先需要打电话或者发邮件或者面对面约定密钥key3
如果甲要与N方通信,就得事先打电话或者发邮件或者面对面与N方约定N个密钥,以浏览器为例,其会与数不清的网站通信,浏览器开发者不可能事先打电话或者发邮件或者面对面与各个网站开发者约定密钥。
所以问题来了,通信两方该如何事先约定密钥呢,显然打电话或者发邮件或者面对面这种人工约定密钥的方式是不可行的,这时需要非对称加密算法来解决这个问题了。
非对称加密
分类
非对称加密算法也比较多,典型常用的有dsa,rsa算法
特点
- 每个通信方都有一对密钥,公钥和私钥,公钥对外公开,私钥自己保存不对外公开
- 公钥