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 应用
- 应用程序可以使用这个包来进行安全通讯,避免窃听,同时确认另一端连接者的身份。
- 这个包广泛被应用在互联网的网页服务器上。 其主要库是以C语言所写成,实现了基本的加密功能,实现了SSL与TLS协议。
- 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