AES有多种加密方式和填充方式。
加密方式
分组密码加密方式主要有7种:ECB,CBC,CFB,OFB和CTR,这五种方式将在下面一一讲解。
0. 初始化向量 / IV
在讲加密模式之前首先得要了解一个概念:初始化向量 (IV)
在除ECB以外的所有加密方式中,都需要用到IV对加密结果进行随机化。在使用同一种加密同一个密钥时不应该使用相同的IV,否则会失去一定甚至全部的安全性。如果到这里还不明白的话没关系,后面还会继续讲到。
1. 电子密码本 / ECB
2020/4/6大约 7 分钟
AES有多种加密方式和填充方式。
分组密码加密方式主要有7种:ECB,CBC,CFB,OFB和CTR,这五种方式将在下面一一讲解。
在讲加密模式之前首先得要了解一个概念:初始化向量 (IV)
在除ECB以外的所有加密方式中,都需要用到IV对加密结果进行随机化。在使用同一种加密同一个密钥时不应该使用相同的IV,否则会失去一定甚至全部的安全性。如果到这里还不明白的话没关系,后面还会继续讲到。
GF(256)域是一个有限域,在密码学中非常常用
顾名思义,有限域就是含有有限个元素的域。
既然是含有有限个元素的域,那么关键点就在于有限和域两个概念。
首先我们看一下域的定义(来自维基百科):
AES算法,一般指Rijndeal算法
AES原本指的是一套标准FIPS 197,而AES算法一般指分组大小为128bits的Rijndeal算法,由比利时学者Joan Daemen和Vincent Rijmen提出。
MD5即Message-Digest Algorithm 5, 信息学中使用广泛的哈希算法
MD5即Message-Digest Algorithm 5, 信息学中使用广泛的哈希算法
这个算法具有很多性质: