密码学简介
当配置IPSEC/SSL VPN,HTTPS或者对接一些数字签名时,通常会接触到以下常用加密算法:
# 1、 哈希算法
MD4 -> MD5 -> SHA1 -> SHA2
目的将一串内容转换成一个固定长的信息摘要值,也叫散列值;
作用是生成一个不可逆的唯一的数字标识用来校验数据、文件是否被篡改。
安全性重点是用来校验数据真伪的,不是用来加密数据的 。
> 属不可逆,能破解。
(所谓的破解指的是碰撞出原文,本质还是穷举,推荐一个破解网站 https://www.cmd5.com/)
# 2、对称加密算法
DES->3DES->AES
目的是将明文通过密钥和算法加密后得到密文,传递给接收者,并且接收者通过可逆运算得到明文。
作用是将真实数据进行加密后进行传输。因为其运算快,安全性高,但并非不可破解。
安全性的重点是如何确保密钥不会被获取。
> 属可逆,能破解。
# 3、非对称加密算法,也叫公开密钥加密算法
RSA512 -> RSA1024 -> RSA2048
目的通过一个公开密钥对明文进行加密得到密文,再通过私人密钥解密得到明文。
作用是对数据加密的算法中的密钥进行加密传递。因为密钥长运算很慢。
> 属可逆,能破解,但破解难度大,需要超级计算机对大数进行质因数分解。
常见使用场景是双方用RSA协商出一个密钥,然后通过AES/3DES给数据加密。
## RSA的安全级别
“密钥长度”一般只是指模值的位长度。目前主流可选值:1024、2048、3072、4096...低于1024bit的密钥已经不建议使用(安全问题)。
天敌:理论上讲,密钥为1024位长的RSA算法,用一台512量子比特位的量子计算机在1秒内即可破解。
RSA算法图解:
## 相关介绍:
1、DSA(Digital Signature Algorithm):数字签名算法,是一种标准的DSS(数字签名标准),严格来说不算加密算法;
数字签名是指用哈希算法先对信息进行处理形成数字摘要或数字指纹,然后对数字指纹和摘要再用私钥加密的过程。而且,身份鉴别是不能通过哈希算法保证的,必须通过信息来源的公钥来保证(公钥的真实性由信任CA的私钥加密包含信息来源公钥的证书保证)
以SSL证书为例子,如果双方都使用自签证书的时候,双方在通信之前预先交换自签证书(公钥)就可以完成数字签名中的身份鉴别了。双方只要确定对方发过来的加密信息是不是预先协商好的证书签名的即可。所以说没有CA也可以鉴别身份,只是没有使用CA那样灵活而已。
总结:先做一次哈希,再做一次非对称加密,实现对数字签名的保护。
2、CA证书和SSL证书关系:
CA机构属于一个主体,比如:Gworg CA、DIGICERT机构,然而CA机构可以颁发各种数字证书,其中包括SSL证书、邮件证书、加密证书、软件数字证书等等。
解释原因:
CA证书,是指CA颁发机构,颁发的数字证书。
CA机构主要业务是颁发数字证书。
SSL证书属于数字证书的一种,用于HTTPS加密协议。
SSL证书,就是遵守daoSSL安全du套接层协议的zhi服务器数字证书,由浏览dao器受信任的根回证书颁发机答构在验证服务器身份后颁发,具有网站身份验证和加密传输等功能。SSL证书并不是什么高深的技术产品,只需要成功申请下发后,安装到网站服务器即可。当你访问一个网站时,如果发现浏览器的地址栏中显示的是“https://”,就说明这个网站已经安装部署了SSL证书。
好处一:隐私信息加密。对网站传输的数据进行SSL加密,防止被黑客监听、窃取和篡改,有效保证用户的隐私信息。
好处二:提高网站排名。谷歌、百度等主流搜索引擎表示优先收录以HTTPS开头的网站,并赋予网站高权重,有效提高网站关键词在搜索引擎中的排名。
好处三:受浏览器信任。安装由权威证书颁发机构签发的证书,会成为谷歌、火狐等主流浏览器受信任的站点。
好处四:提升企业形象。安装高级SSL证书可以显示单位名称,大大提升企业的形象和可信度。
好处五:防止流量劫持。网站流量劫持现象频繁发生,安装SSL证书,能有效避免流量劫持。
分享小故事:密码学家:王小云。她破解哈希函数算法:坚持10年做一件事一定能做成。。
https://blog.csdn.net/zandaoguang/article/details/103231786
共有 0 条评论