金融安全算法介绍系列2——对称算法

前言:

为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长。

在这里插入图片描述


1. 定义

对称算法: 加密和解密使用相同密钥的加密算法。对称加密算法用来对敏感数据等信息进行加密,加解密过程互逆。常用的算法包括 DES、3DES、AES、DESX、Blowfish、RC4、RC5、RC6。这种加密方式加密速度非常快,适合经常发送数据的场合。缺点是密钥的传输比较麻烦。

在这里插入图片描述
各部分介绍:

定义 解释
信息明文 未经加密的信息
密钥Key 加密明文信息的密码,在对称加密算法中,加密与解密的密钥是相同的。密钥为接收方与发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥,然后再通过网络传输给对方,或者直接面对面商量密钥。密钥是绝对不可以泄漏的,否则会被攻击者还原密文,窃取机密数据。
加密函数 把明文和密钥作为加密函数的参数输入,加密函数会输出密文
信息密文 经过加密的信息
解密函数 把密文和密钥作为解密函数的参数输入,则解密函数会输出明文信息

2. 特点

优点: 对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。

缺点:交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。

3. 分类

3.1 DES算法

3.1.1 定义

DES:(Data Encryption Standard)即数据加密算法。DES 算法的入口参数有三个:Key、Data、Mode。其中 Key 为 8 个字节共 64 位,是 DES 算法的工作密钥;Data 也为 8 个字节 64 位,是要被加密或被解密的数据;Mode 为 DES 的工作方式,有两种:加密或解密。数据加密标准是对称加密算法领域中的典型算法。

在这里插入图片描述

3.1.2 算法原理

DES 算法把 64 位的明文输入块变为 64 位的密文输出块,它所使用的密钥也是 64 位,其算法主要分为两步:

(1)初始置换

把输入的 64 位数据块按位重新组合,并把输出分为 L0、R0 两部分,每部分各长 32 位。即将输入的 64 位明文的第 1 位置换到第 40 位,第 2 位置换到第 8 位,第 3 位置换到第 48位。以此类推,最后一位是原来的第 7 位。置换规则是规定的。L0(Left) 是置换后的数据的前 32 位,R0(Right) 是置换后的数据的后32位。例如:设置换前的输入值为 D1D2D3……D64,则经过初始置换后的结果为:L0 = D58D50……D8;R0 = D57D49……D7。

在这里插入图片描述
(2)逆置换

经过 16 次迭代运算后,得到 L16、R16,将此作为输入,进行逆置换,逆置换正好是初始置换的逆运算,由此即得到密文输出。

补:五种分组模式: EBC模式 ;CBC模式 ; CFB模式 ;OFB模式 ;CTR模式 。

特点:密钥偏短(56位)、生命周期短(避免被破解)。

3.2 3DES算法

3DES:是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。将密钥长度增至 112 位或 168 位,通过增加迭代次数提高安全性。

在这里插入图片描述

缺点:处理速度较慢、密钥计算时间较长、加密效率不高。

3.3 AES算法

AES:高级数据加密标准,能够有效抵御已知的针对 DES 算法的所有攻击。

AES 的加密也是由多个轮组成的,分为 4 轮,SubBytes(变换)、ShiftRows9(移行操作)、MixColumns(混行操作)、AddRoundKey (异或运算)这 4 步,即 SPN 网络。

特点:密钥建立时间短、灵敏性好、内存需求低、安全性高。

比较:

算法 密钥长度 默认密钥长度
DES 56 56
3DES 112、168 168
AES 128、192、256 128

DES 是一种分组数据加密技术(先将数据分成固定长度的小数据块,之后进行加密),速度较快,适用于大量数据加密。3DES 是一种基于 DES 的加密算法,使用 3 个不同密匙对同一个分组数据块进行 3 次加密,如此以使得密文强度更高。相较于 DES 和 3DES 算法而言,AES 算法有着更高的速度和资源使用效率,安全级别也较之更高了。


参考:

1.AES加密算法的详细介绍与实现
2.对称加密算法DES、3DES和AES
3.关于对称加密算法和非对称加密算法
4.关于对称加密算法与非对称加密算法
5.详解DES/3DES/AES 三种对称加密算法在 Java 中的实现
6.对称加密算法DES、3DES和AES
7.白话解释 对称加密算法 VS 非对称加密算法
8.漫游对称加密算法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章