AES(高级加密标准)

https://ithelp.ithome.com.tw/upload/images/20210723/20132160tqxQvsYwr2.jpg
-密码学
这两种DES(数据加密标准)AES(高级加密标准)是美国的加密标准。传统 DES 使用 IBM 开发的 Lucifer,而当前标准 AES 通过开放选择指定 Rijndael。通常将 DES 和 AES 称为密码本身。例如,AES 和 Rijndael 的不同之处在於,“Rijndael 本身指定的块和密钥大小可以是 32 位的任意倍数,最小为 128 位,最大为 256 位。” 但是,AES 指定了 128 位的“固定块大小”,但密钥大小有 128、192 或 256 位三种选择。(维基百科

DES 和 AES 是分组密码。块是一组位。块是块密码的基本处理单元。DES 将数据分成 64 位块,而 AES 以 128 位块处理数据。但是,密钥可能不等於数据块。DES 密钥大小名义上是 64 位(8 字节),但一个字节的每一位都是所谓的用於错误控制的奇偶校验位。因此,有效密钥长度为 56 位(64-8=56)。DES 块大小比其後继 AES 小得多,AES 使用 128 位块。

因为分组密码使用固定大小的块,明文不能总是分成整个块或块大小的倍数。“ Padding ”是将数据加入明文中以便将其划分为完整块的过程。位置(开始、中间或结束)、单位(位或字节)和模式(全为零或全为 1)是填充问题。ANSI X9.23、PKCS#5、PKCS#7、ISO/IEC 7816-4 等是处理填充数据模式的标准。
ECB 模式中的 AES 可能不涉及初始化向量 (IV)。分组密码可以在各种操作模式下工作。最着名的电子代码簿 (ECB) 不涉及启动向量,但可能会生成重复的模式。

DES 於 1970 年代初由 IBM 开发,基於 Horst Feistel 的早期设计。它於 1976 年被批准为美国加密标准。三重 DES (3DES/TDES) 是 DES 在 1990 年代被破坏後的一种解决方法。3DES 使用相同的 DES 算法三次以增加工作因子。3DES 需要三个密钥(每个 DES 操作一个);但是,第一次使用的密钥可以在第三次处理时使用。名义上,3DES 使用三个密钥,但实际上它可以使用两个密钥(第一次和第三次使用相同的密钥)。DES3-EEE 意味着使用三个不同的密钥应用 DES 加密三次。

参考
. 分组密码
. 高级加密标准
. 数据加密标准
. 三重DES
. 奇偶校验位(维基百科)
. 填充(密码学)
. 初始化向量
. java中AES-256加密需要多大的初始化向量?
. RSA 中的典型块大小是多少?

资料来源: Wentz Wu QOTD-20210629
My Blog: https://choson.lifenet.com.tw/


<<:  python的基本语法-回圈

>>:  qt 自定义控件 不同萤幕

#29 Electron 打包应用程序

今天我们来用 electron-forge 打包程序。 新增 electron-forge 到专案 ...

【第二十七天 - XSS Lab(2)-5】

Q1. XSS Lab(2)-5 题目:https://alf.nu/alert1 Fruit 题目...

[day-21] Python-决策的开始,认识 if 判断式

甚麽是判断式?   简单说,判断式就是为程序设定一个条件,当符合条件的时候做出适当的选择。 这边我们...

[Day19]C# 鸡础观念- 让时间倒转吧~递回

电视可以倒带, 然後重播, 喜欢看几次就看几次, C#中也能让程序倒带,重新执行, 执行到满意为止 ...

Day 13. 模板语法Template Syntax – 插值 v-once、v-html

昨天我们讲了Vue的一生,今天来说说模板语法,看看要怎麽把vue instance中的资料变化渲染到...