news 2026/7/6 14:38:33

AES(高级加密标准)是一种对称分组密码算法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AES(高级加密标准)是一种对称分组密码算法

AES(高级加密标准)是一种对称分组密码算法,其核心参数如下:

  • 密钥长度:支持 128 位、192 位 或 256 位三种规格(对应 AES-128、AES-192、AES-256),密钥越长,理论安全性越高,加解密轮数也不同:
    • AES-128:10 轮加密
    • AES-192:12 轮加密
    • AES-256:14 轮加密
  • 分组长度(块大小):固定为128 位(16 字节),无论密钥长度如何,输入/输出数据均按 128 位分组处理。

所有变体均基于相同的轮函数(字节代换 SubBytes、行移位 ShiftRows、列混淆 MixColumns、轮密钥加 AddRoundKey),仅轮数和密钥扩展(Key Expansion)逻辑不同。AES 不是流密码,使用时需配合工作模式(如 CBC、GCM、CTR)和填充(如 PKCS#7)来处理任意长度明文。

# 示例:使用 PyCryptodome 进行 AES-128-CBC 加密(需 pip install pycryptodome)fromCrypto.CipherimportAESfromCrypto.Randomimportget_random_bytesfromCrypto.Util.Paddingimportpad key=get_random_bytes(16)# AES-128 → 16 字节 = 128 位iv=get_random_bytes(16)# CBC 模式需要初始化向量cipher=AES.new(key,AES.MODE_CBC,iv)plaintext=b"Hello, AES!"ciphertext=cipher.encrypt(pad(plaintext,AES.block_size))

AES 的列混淆(MixColumns)操作在 AES-128、AES-192 和 AES-256 中完全相同

原因如下

  • MixColumns 是 AES 轮函数(Round Function)中的一个固定代数变换,作用于状态矩阵(4×4 字节)的每一列,使用 GF(2⁸) 上的线性变换(与固定多项式c(x) = '0x03'·x³ + '0x01'·x² + '0x01'·x + '0x02'相乘)。
  • 该操作仅依赖分组长度(128 位 → 4×4 状态矩阵),而与密钥长度无关。AES 所有变体(128/192/256)均采用相同的分组大小(128 位)和相同的状态结构,因此 MixColumns 的定义、实现和数学表达式完全一致。
  • 密钥长度仅影响:
    • 轮数(10/12/14 轮),
    • 密钥扩展算法(Key Expansion)的复杂度与轮密钥生成逻辑(如 AES-256 需额外的 SubWord 变换),
    • 初始密钥加(AddRoundKey)所用的轮密钥字数

⚠️ 注意:最后一轮(Final Round)不执行 MixColumns(所有变体均如此),这是 AES 标准统一规定的,与密钥长度无关。

# MixColumns 单列示例(GF(2^8), mod x^8+x^4+x^3+x+1)defmix_column(col):# col = [b0, b1, b2, b3], each bytefromCrypto.Util.numberimportbyte_to_long,long_to_bytes# 实际实现需基于 Rijndael 的有限域乘法(如 xtime)# 此处省略细节,但无论密钥长度如何,此函数不变...

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/6 14:37:00

Ultralytics:解读C2模块

Ultralytics:解读C2模块前言相关介绍Ultralytics 简介前提条件实验环境C2(CSP Bottleneck with 2 convolutions)代码实现功能初始化参数前向方法使用示例流程示意图代码解读注意事项优缺点优点缺点参考文献前言 由于本人水平有限,…

作者头像 李华
网站建设 2026/7/6 14:34:31

无障碍设施开放公告增量采集,实战教学!

㊗️本期内容已收录至专栏《Python爬虫实战》,持续完善知识体系与项目实战,建议先订阅收藏,后续查阅更方便~ ㊙️本期爬虫难度指数:⭐⭐⭐☆☆(进阶级) 🉐福利: 一次订阅后,专栏内的所有文章可永久免费看,持续更新中,保底1000+(篇)硬核实战内容。 全文目录: 🌟…

作者头像 李华
网站建设 2026/7/6 14:32:24

CVE-2024-48990漏洞复现:从TOCTOU原理到Ubuntu本地提权利用开发

1. 项目概述:从CVE编号到实战利用拿到一个CVE编号,比如CVE-2024-48990,很多安全研究者和渗透测试人员的第一反应是:这个漏洞具体是什么?它怎么触发的?我能不能自己动手把它“复现”出来,甚至更进…

作者头像 李华
网站建设 2026/7/6 14:29:01

ETT-small 数据集实战:基于 PyTorch 的 5 步时间序列预测数据加载与预处理

ETT-small 数据集实战:基于 PyTorch 的 5 步时间序列预测数据加载与预处理电力变压器温度预测是能源管理领域的关键任务,ETT-small 数据集作为业界公认的基准数据,为开发者提供了真实场景下的时间序列建模机会。本文将带您快速掌握 PyTorch 环…

作者头像 李华