Openssl
OpenSSL是一个开源的、用于SSL/TLS协议的加密工具,是互联网加密传输的核心基础组件,由加拿大的Eric Yang等发起编写的,当前互联网安全传输的大部分场景(如HTTPS)均使用OpenSSL开源项目,其作用主要有:数据加解密、数据签名、证书签发和校验等。当前,openSSL作为SSL/TLS协议的开源实现,得到了非常广泛的使用。
它是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
年4月8日,OpenSSL的大漏洞曝光。这个漏洞被曝光的黑客命名为“heartbleed”,意思是“心脏流血”——代表着最致命的内伤。利用该漏洞,黑客坐在自己家里电脑前,就可以实时获取到约30%https开头网址的用户登录账号密码,包括大批网银、购物网站、电子邮件等。
受影响的版本: OpenSSL1.0.1、1.0.1a 、1.0.1b 、1.0.1c 、1.0.1d 、1.0.1e、1.0.1f、Beta 1 of OpenSSL 1.0.2等版本。
(目前这个bug好像已修复,毕竟隔了这么久了。但是没看到相关文档说这个bug的修复情况,待查证)
主要功能:
1.密钥证书管理
2.SSL和TLS协议
3.关于加密算法:{
对称加密(8种=7终分组加密算法+1种流加密算法)
非对称加密(4种)
信息摘要(7种)
}
对称加密:
- 7种分组加密算法:AES、DES、Blowfish、CAST、IDEA、RC2、RC5
——都支持电子密码本模式(ECB)、加密分组链接模式(CBC)、加密反馈模式(CFB)和输出反馈模式(OFB)四种常用的分组密码加密模式。
其中,AES使用的加密反馈模式(CFB)和输出反馈模式(OFB)分组长度是128位,其它算法使用的则是64位
- 1种流加密算法:RC4
非对称加密:
- 加密算法:DH、RSA、DSA、EC(椭圆曲线算法)
——DH 一般用于密钥交换;
RSA 既可以用于密钥交换,也可以用于数字签名,也可以用于数据加密(但是速度极其缓慢);
DSA 一般只用于数字签名。
信息摘要:
信息摘要算法:MD2、MD5、MDC2、SHA(SHA1)、RIPEMD、DSS和DSS1
——SHA算法实际上包括了SHA和SHA1两种信息摘要算法。