🍋
Menu
Security

AES

AES(高级加密标准)

最广泛使用的对称加密算法,2001 年被美国政府 (NIST) 采纳为标准。AES 使用 128、192 或 256 位密钥对固定的 128 位数据块进行加密。

技术细节

AES 通过多轮替换(S 盒)、行移位、列混淆和密钥加法变换运算(128/192/256 位密钥分别对应 10/12/14 轮)。分组密码模式决定了多个数据块的处理方式:ECB(不安全,会暴露模式)、CBC(链式块,需要 IV)、CTR(计数器模式,可并行化)和 GCM(伽罗瓦/计数器模式,同时提供加密和认证)。Web Crypto API 支持 AES-GCM、AES-CBC、AES-CTR 和 AES-KW。AES-256-GCM 是 TLS 1.3、文件加密和磁盘加密(BitLocker、FileVault)的标准。

示例

```javascript
// AES-256-GCM encryption (Web Crypto API)
const key = await crypto.subtle.generateKey(
  { name: 'AES-GCM', length: 256 }, true, ['encrypt', 'decrypt']
);
const iv = crypto.getRandomValues(new Uint8Array(12));
const ciphertext = await crypto.subtle.encrypt(
  { name: 'AES-GCM', iv },
  key,
  new TextEncoder().encode('secret message')
);
```

相关工具

相关术语