常见的加密算法以及加密协议

  • 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版本;
  • 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

常见的加密算法以及加密协议_第1张图片

  • 加密某个文件的大致过程
[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:
  • 源文件

常见的加密算法以及加密协议_第2张图片

  • 加密之后的文件
    常见的加密算法以及加密协议_第3张图片
  • 接下来实现解密这个文件的过程,前提是必须知道秘钥
[root@server23 mnt]# openssl enc -des3 -d -salt -a -in inittab.des3 -out ./inittab
enter des-ede3-cbc decryption password:
  • 解密之后的文件
    常见的加密算法以及加密协议_第4张图片

  • 文字特征码的计算

  • 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.key
  • 2.提取公钥

你可能感兴趣的:(Linux运维笔记)