常见的加密算法以及加密协议
PKI
:Public Key Infraastructure
CA
:Certificate Authority
公钥加密算法:
DES
:Data Encrption Standard
;AES
:Advanced Encryption Standard
;Blowfish
:对称加密算法;
x509
:- 加解密协议,是应用层,协议,通过在应用层协议和传输层之间建立SSL层,数据在
SSL
层完成加密,也就是说这是一个中间层,应用层协议都是可以调用的; SslV2 SSLV3
:这两个版本是常用的版本;TLS
:Transport Layer Security
,相当于SSL V3
版本;
- 加解密协议,是应用层,协议,通过在应用层协议和传输层之间建立SSL层,数据在
HTTPS
:- 1.在建立三次握手之后,然后通过协商使用加密协议的某个具体版本;
- 2.
Server
将自己证书发送给客户端,客户端验证证书是否是完整的; - 3.
Client
建立生成会话密钥,对称加密密码,Client
生成的大随机数使用Server
的公钥加密之后发送给server
;
单项加密算法:
MD 4
,MD 5
,SHA 1
,SHA 192 256 384
;CRC32
:表示循环冗余校验码;
- 公钥加密经常用于身份认证和秘钥交换,
RSA
:用于实现加密和签名,DSA
:用于实现签名,ElGamal
:商业算法; Openssl
:SSL
的开源实现,libcrypto
:是一个通用功能的加密库;TLS/SSL
功能的实现,基于会话实现的身份认证,数据机密性,会话完整性的库;openssl
:多用途的命令行工具,可以用于模拟实现私有证书颁发机构;openssl
的配置文件是/etc/pki/tls/openssl.cnf
,这个软件包包含大量的shell
命令;
用于测试加密算法速度的命令
[root@server23 ~]# openssl speed des
加密某个文件的大致过程
[root@server23 mnt]# cp /etc/inittab .
[root@server23 mnt]# openssl enc -des3 -salt -a -in inittab -out inittab.des3
enter des-ede3-cbc encryption password: //这里输入的秘钥用于解密
Verifying - enter des-ede3-cbc encryption password:源文件
- 加密之后的文件
接下来实现解密这个文件的过程,前提是必须知道秘钥
[root@server23 mnt]# openssl enc -des3 -d -salt -a -in inittab.des3 -out ./inittab
enter des-ede3-cbc decryption password:解密之后的文件
- 文字特征码的计算
md5sum
[root@server23 mnt]# md5sum inittab
sha224sum
:[root@server23 mnt]# sha224sum inittab
openssl dgst -sha224 inittab
openssl dgst -md5 inittab
- 生成随机数
openssl rand -base64 12
Openssl
制作私有CA
1.首先生成一对密钥
[root@server23 CA]# (umask 177;openssl genrsa -out server.key 1024)
Generating RSA private key, 1024 bit long modulus
……………………….++++++
……………………..++++++
e is 65537 (0x10001)
[root@server23 CA]# ll server.key
-rw———-. 1 root root 887 4月 15 21:22 server.key2.提取公钥
还没有评论,来说两句吧...