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

不念不忘少年蓝@ 2022-05-27 09:07 566阅读 0赞
  • 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

这里写图片描述

  • 加密某个文件的大致过程

    [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.key

  • 2.提取公钥

发表评论

表情:
评论列表 (有 0 条评论,566人围观)

还没有评论,来说两句吧...

相关阅读

    相关 常见加密算法介绍

    简介 做为一个开发人员,了解一些加密算法是很有必要的,通过加密算法,我们能完成数据通信的三个目标,分别为数据的保密性、数据的完整性、源和目标用户的合法性,而常见的加密算法

    相关 前端常见加密算法介绍

    在信息安全越来越受重视的今天,前端的各种加密也变得更加重要。通常跟服务器的交互中,为保障数据传输的安全性,避免被人抓包篡改数据,除了 https 的应用,还需要对传输数据进行加

    相关 常见三大加密算法

        加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。     加密建立在对信息进行数学编码