| 输入 | 密钥 + nonce + 明文 + 关联数据(AAD,明文但被认证,如头部) |
|---|---|
| 输出 | 密文 + 认证标签(tag) |
| 验证失败 | 必须整体丢弃,不得部分处理明文 |
概念伪代码
概念伪代码
(ct, tag) = AEAD_encrypt(key, nonce, plaintext, aad)
plaintext = AEAD_decrypt(key, nonce, ct, tag, aad) # tag 错误直接报错nonce 在同一密钥下绝不能重复;AAD 用于保护不被加密的元数据(如包序号)。