OpenSSL

OpenSSL 是一个主要用于Transport Layer Security (TLS) 和 Secure Sockets Layer (SSL) 协议的稳定、可商用、全功能的工具箱。
OpenSSL也是一个强大通用的安全套接字层加密库,用于网络上以及计算机之间的加密通信协议等,同时它还是一个多用途的、跨平台的密码工具。

可以实现消息摘要、文件的加密和解密、数字证书、数字签名 和随机数字。
官方手册:​​​OpenSSL Manual Pages​


OpenSSL 主要特性

  • 美国联邦政府NIST FIPS 140-2一级评估确认
  • TLS,下一代SSL协议
  • X.509密钥和证书的生成
  • X.509证书权力
  • S/MIME加密
  • 文件加密和粉碎
  • 打乱UNIX密码
  • 9个不同的商业密码硬件设备
  • 密码性能测试
  • 36个命令
  • 6个消息摘要算法
  • 9个密码算法
  • 多个加密协议
  • 等等…………….

OpenSSL 应用

  1. 应用程序可以使用这个包来进行安全通讯,避免窃听,同时确认另一端连接者的身份。
  2. 这个包广泛被应用在互联网的网页服务器上。 其主要库是以C语言所写成,实现了基本的加密功能,实现了SSL与TLS协议。
  3. OpenSSL可以运行在绝大多数类Unix操作系统上(包括Solaris,Linux,Mac OS X与各种版本的开放源代码BSD操作系统)

加密算法

加密算法可以分为两类:对称加密和非对称加密,在密码学中,加密是将明文信息隐匿起来,使之在缺少特殊信息时不可读。

  • 对称加密就是将信息使用一个密钥进行加密,解密时使用同样的密钥,同样的算法进行解密。
  • 非对称加密,又称公开密钥加密,是加密和解密使用不同密钥的算法,广泛用于信息传输中。

OpenSSL支持多种不同的加密算法

加密

AES、Blowfish、Camellia、SEED、CAST-128、DES、IDEA、RC2、RC4、RC5、Triple DES、GOST 28147-89


散列函数

MD5、MD2、SHA-1、SHA-2、RIPEMD-160、MDC-2、GOST R 34.11-94


公开密钥加密

RSA、DSA、Diffie–Hellman key exchange、 Elliptic curve、GOST R 34.10-2001