对称加密算法基本介绍

对称加密算法

采用单钥密码的加密方法,同一个密钥可以同时用来加密和解密,这种加密方法称为对称加密,也称为单密钥加密。具体消息加密过程如下。常见的对称加密算法有:DES,3DES,AES,RC2,RC4, RC5。
对称加密算法基本介绍_第1张图片

加密算法

算法 特点
DES(Data Encryption Standard) 数据加密标准,速度较快,适用于加密大量数据的场合,目前已证实不安全,可用3DES替换
3DES(Triple DES 是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高
AES(Advanced Encryption Standard) 高级加密标准,是下一代的加密算法标准,速度快,安全级别高,支持128、192、256、512位密钥的加密。是目前最常见的对称加密算法

加密模式

加密模式(英文) 加密模式(中文) 介绍
Electronic Code Book(ECB) 电子密码本模式 最基本的加密模式,也就是通常理解的加密,相同的明文将永远加密成相同的密文,无初始向量,容易受到密码本重放攻击,一般情况下很少用
Cipher Block Chaining(CBC) 密码分组链接模式 明文被加密前要与前面的密文进行异或运算后再加密,因此只要选择不同的初始向量,相同的密文加密后会形成不同的密文,这是目前应用最广泛的模式。CBC加密后的密文是上下文相关的,但明文的错误不会传递到后续分组,但如果一个分组丢失,后面的分组将全部作废(同步错误)。
Cipher Feedback Mode(CFB) 加密反馈模式 类似于自同步序列密码,分组加密后,按8位分组将密文和明文进行移位异或后得到输出同时反馈回移位寄存器,优点最小可以按字节进行加解密,也可以是n位的,CFB也是上下文相关的,CFB模式下,明文的一个错误会影响后面的密文(错误扩散)。
Output Feedback Mode(OFB) 输出反馈模式 将分组密码作为同步序列密码运行,和CFB相似,不过OFB用的是前一个n位密文输出分组反馈回移位寄存器,OFB没有错误扩散问题。

Openssl生成对称加密

用法: openssl enc -cipher [-help] [-list] [-ciphers] [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a] [-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md digest] [-iter count] [-pbkdf2] [-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-rand file…] [-writerand file] [-engine id]

参数 解释
-list /-ciphers 列举所有支持的加密算法
-in filename 指定要加密的文件存放路径
-out filename 指定加密后的文件存放路径
-salt/-S 自动插入一个随机数作为文件内容加密,默认选项
-e 对数据进行加密,默认为该选项
-d 对数据进行解密,如不指定,则使用默认的加密
-a/-base64 如果当前为加密,则在对数据使用加密算法加密之后,再对数据进行base64编码,如果当前为解密,则先对数据进行base64解码之后再对数据使用解密算法进行解密
-rand file 用来设置随机种子生成器文件

参考文档

openssl wiki
openssl cmd doc

你可能感兴趣的:(安全,安全)