什么是 AES 以及您为什么喜欢它

已发表: 2019-03-12
目录
  • 一切是如何开始的

  • 什么是AES?

  • AES 加密示例

  • 实现

  • AES 安全吗?

  • 您可能不止一次遇到过首字母缩略词 AES。 也许您甚至想知道:什么是 AES ? 是什么让它如此特别? 如果是这样,那么您来对地方了。 在本文中,我们将告诉您有关 AES(高级加密标准)的所有信息

    简单来说:

    我们可以将 AES 定义为支持128、192 和 256 位加密三种密钥长度的现代分组密码 它提供了出色的长期安全性,可以抵御蛮力攻击。

    事情是这样的:

    截至 2010 年,AES 是世界上最流行的文件加密器 它广泛用于安全文件传输协议,如 FTPS、HTTPS(我们在本网站上有)、SFTP、AS2、WebDAVS 和 OFTP。 TechJury 上审查的大多数 VPN 服务都使用最高级别的 AES 加密。 事实上,ExpressVPN 和 Cyber​​Ghost 之类的公司使用 256 位 AES。

    但:

    世界著名的AES 密码学专家、德国波鸿鲁尔大学的 Christof Paar 教授估计,它被用于加密全球超过 50% 的数据,关于其采用的具体数字很难获得 听起来很令人印象深刻,不是吗?

    等等 - 还有更多:

    美国国家安全局授权通过 AES 传输绝密级别的机密数据。 我们在这里谈论官方的国家机密,詹姆斯邦德风格。 摇晃,不搅拌。

    那么,有什么大不了的?

    一切是如何开始的

    让我们从一些有关加密标准的背景信息开始 早期的数据加密标准 (DES)于 1970 年代中期开发并于 1977 年正式采用,但到 1990 年代已过时且越来越容易受到网络攻击。 因此,美国国家标准与技术研究院 (NIST) 决定用一种新的、先进的标准取而代之。

    NIST 征求并最终考虑了几项提案。 由两位年轻的比利时密码学家 Vincent Rijmen 和 Joan Daemen 提交的获胜者被称为Rijndael 我们将其与 AES 同义使用。 NIST 于 2001 年 11 月正式采用了新的加密系统,并于 2002 年 5 月生效。世界其他地区也迅速效仿。

    但无聊的东西就够了。 让我们继续讨论具体细节。

    什么是AES?

    简单来说,AES 是一种用于保护电子数据的加密算法 它是一种对称分组密码,可以加密和解密信息。 加密将数据转换为称为密文的难以理解的形式。 解密将数据转换回其原始形式,称为明文

    这就是它如此特别的原因:

    首先,AES有128、192、256位的加密密钥长度,可以对128位的数据进行加密和解密。 最长的 AES 加密密钥长度也称为军用级加密 虽然它是最安全的,而且大多数防病毒软件和密码管理解决方案都使用 256 位,但使用其他两个中的任何一个都应该完全没问题——除非像美国国家安全局一样,你担心未来会受到量子计算机的攻击!

    其次,它可以抵抗大多数(如果不是所有)已知的攻击(稍后会详细介绍)。

    第三,它在广泛的平台上快速而紧凑。 使用最佳性能,您可以在单核英特尔酷睿 i7 处理器至尊版 i7-980X(用于 AES-128 并行模式)上实现 1.3 个周期/字节。 一点也不差。

    所有这些都使它非常受欢迎。 这让我们想到:

    AES 的工作原理

    与许多其他分组密码一样,AES 使用多加密来执行密码转换。 每一轮通常由几个共同设计的构建块组成,以创建一个函数,然后多次运行。 AES 执行的轮数取决于其密钥的长度。 在 128 位时,它在 192 – 12 和 256 – 14 处执行 10。

    与它的前身——前面提到的 DES——每轮只能加密大约一半的数据路径不同,AES 能够在一轮中加密整个数据路径。

    每轮由四层组成:

    1) SubBytes 提供了极好的混淆——与 AES 相关的“混淆”是安全密码操作的一个属性。 它使密文和对称密钥之间的关系尽可能复杂。 这会创建非线性表,非常擅长消除模式。

    2) ShiftRows 提供扩散——其中“扩散”是安全 AES 密码操作的另一个属性 这里的目标是通过将输入的每个部分扩展到输出的每个部分消散密文上的明文统计结构。

    3) MixColumns 提供进一步的扩散以增加有效性

    4) AddRoundKey 混合了密钥,使攻击者无法计算密码的作用。

    有趣的是,最后一轮没有 MixColumns 层。 这使得加密和解密方案对称

    在开头和结尾添加子密钥称为密钥白化

    这一切都很好,我能听到你说,但还是有点含糊。 你能给我们举个例子吗?

    好的,这是一个:

    AES 加密示例

    您可能熟悉威廉·莎士比亚的《罗密欧与朱丽叶》中的以下(经常被错误引用的)著名台词

    “名字里有什么? 我们称之为玫瑰的东西
    用任何其他词都会闻起来很甜。”

    这就是它们在AES 256 位加密中的样子

    CDrSpLOilx0tDY46n5dQsVM7639A36PcnJQJQmgprvzh/Yj+BHZxspoGGXq4Pln5jBOVbIP08z76klzqzqtUY+p4mTnJrh1FK7LEjmPum/YO129JMWhmz

    我想没有那么浪漫,尽管这肯定会成为一张非常原始的情人节贺卡。 在任何情况下,您都可以尝试加密您自己的游戏——或其他任何与此相关的内容。

    一天的诗足够了。

    我们可以查看更多内容,首先是:

    实现

    好消息! AES 算法的创始人在他们的初始提案中指定,无论是它还是它的任何实现都不受专利的约束。 这使得它可以免费使用 我们可以在各种软件、固件、硬件或其任意组合中找到它。 也许您可能遇到的最常见的用途是……

    Wi-Fi 安全协议,例如WPA-PSK (AES)WPA2-PSK (AES) 您通常会在AES 旁边找到较旧的TKIP(临时密钥完整性协议) TKIP 的最初目的是取代相当不安全的WEP (有线等效隐私)。 不幸的是,它并没有证明它的前身有很大的改进。 因此,更安全的 AES 与新的WPA2(Wi-Fi 保护访问 II)加密类型一起出现。 缩写的PSK部分表示Pre-shared Key,它是您的加密密码。

    JavaPython等编程语言也可以从AES 安全性中受益,更简单地说,它是与您的密友建立秘密方案的最有用工具,称为Facebook Messenger 也许你欠某个邪恶的伦敦黑帮 50 万英镑,就像英国邪教电影《锁、股票和两个吸烟桶》中的小伙子们所做的那样,你需要想办法立即拿到这笔钱。 也许不是。

    但:

    如果您打算使用 Facebook Messenger 来确保您的事情的确切时间和地点不被窥探,您会问这样一个问题:

    AES 安全吗?

    通常,加密强度取决于对消息进行加扰和解密的数字密钥长度

    这是疯狂的一点:

    不可能对AES-256进行成功的蛮力攻击 任何此类尝试都需要大约1,100 个后跟 75 个零的组合。 相当数量,不是吗?

    可是等等:

    2017 年,荷兰研究人员通过改进天线和信号处理的侧信道攻击设法提取了AES 256 加密密钥 该设备的成本不到 200 美元,因此您可以自己动手制作 - 但请记住,您需要距离目标设备不到一码

    现在:

    高级加密标准的故事始于 25 年前,由低地国家的研究人员发起,后来又与来自同一领域的研究人员展开了完整的循环。 2021年A S,AES依然是电子数据的整个世界保护最广泛使用的文件加密软件 更重要的是,它可能会保持这种状态,至少在不久的将来是这样。

    您很有可能在阅读本文的任何设备上使用它 - 这就是您已经喜欢它的原因,即使您直到现在还没有意识到这一点。

    常问问题

    AES 加密在哪里使用?

    它可以用于各种软件、固件、硬件或其任意组合。 它最常见的用途是在 Wi-Fi 中,尤其是 WPA2-PSK (AES); 您还可以在多种编程语言中使用它,例如 Crypto++、Java 和 Python,甚至在 Facebook Messenger 中。

    AES 有多安全?

    这是非常安全的。 其最大的密钥长度(256 位)可以抵抗任何蛮力攻击。 直到 2017 年,荷兰研究人员才通过使用改进的天线和信号处理的侧信道攻击设法提取加密密钥。

    AES 可以免费使用吗?

    是的,任何人都可以免费使用。 创始人明确表示,它不会受到专利的约束。

    什么是AES?

    AES 代表高级加密标准,是一种用于保护电子数据的加密算法。 它最初是由比利时的密码学家在 1990 年代后期开发的。 本质上,它是一种对称分组密码,可以对信息进行加密和解密。 加密将数据转换为难以理解的形式,称为密文; 解密将数据转换回其原始形式,称为明文。 美国国家标准与技术研究院于 2001 年 11 月批准,并于 2002 年 5 月开始流通。