openssl——初了解

                                      Openssl

  OpenSSL是一个开源的、用于SSL/TLS协议的加密工具,是互联网加密传输的核心基础组件,由加拿大的Eric Yang等发起编写的,当前互联网安全传输的大部分场景(如HTTPS)均使用OpenSSL开源项目,其作用主要有:数据加解密、数据签名、证书签发和校验等。当前,openSSL作为SSL/TLS协议的开源实现,得到了非常广泛的使用。

  它是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。 

  201448日,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两种信息摘要算法。