我正在研究加密算法 - 有人可以快速了解 Rijndael 和 AES 之间的区别吗?
4 回答
严格来说,高级加密标准 (AES) 不是一种算法。AES 是美国国家标准与技术研究院 (NIST) 定义的规范。AES 是数据加密标准 (DES) 的继承者。
AES 已于 2001 年 11 月 26 日在 FIPS PUB 197 中公布。联邦信息处理标准出版物 (FIPS PUB) 由 NIST 在美国商务部长批准后发布。
Rijndael 是由 Joan Daemen 和 Vincent Rijmen 创建的对称密钥加密算法。它是一种分组密码,具有可变的块大小、可变的密钥长度和可变的轮数。块长度和密钥长度可以独立指定为从 128 位到 256 位的 32 位的任意倍数。
Rijndael 密码被选为高级加密标准 (AES)。
在 Rijndael AES 变体中,块大小限制为 128 位,密钥长度仅限于 128、192 或 256 位。
实际上在 3DES(三重数据加密标准)的危机中,NIST 决定建立一个新的标准。AES 是基于 Rijndael 算法的算法实际采用的标准,这不过是两个研究科学家的组合,分别是 Rijmen 博士和 Daemen 博士,根据他们将块长度的大小固定为 128 位和密钥大小的算法128 或 256 位。后来在标准化时,在高级加密技术 (AES) 中提到,128 位的对称分组密码可以支持 128,192 和 256 位或 16,24 和 32 字节
AES 是 Rijndael 的简化版本,它仅定义为 128 位的块大小,而 Rijndael 定义为 128、192 和 256 位的块大小。如果在加密和解密之间使用不同的块大小,则无法恢复原始明文。
Rijndael-256 和 Rijndael-192 必须被视为与 AES (Rijndael-128) 完全不同的算法。它们本质上是不相容的。