首页/安全/加密与证书速查/格式保留加密(FPE)
加密算法基础95 条

格式保留加密(FPE)

在加密同时保持数据格式与长度(如 16 位卡号、11 位手机号),NIST SP 800-38G 定义 FF1 与 FF3-1 方案;密文可直接落库,通常无需改表结构。

加密与证书速查安全更新于 2026-10-12
标准NIST SP 800-38G(FF1、FF3-1)
输入参数基数 radix(如 10 表示数字串)、tweak
输出特性与明文等长、字符集相同
注意FF3 因发现缺陷修订为 FF3-1,新系统用 FF1 或 FF3-1

设计要点

设计要点
radix=10:仅数字字符参与运算(保持卡号形态)
tweak:绑定业务上下文(如字段名 + 租户),不同上下文得到不同密文
密钥:单独保护,禁止与业务数据同库存储
FPE 只保证机密性不保证完整性,且小域数据(如 6 位数字)可被枚举;必须配合访问控制与审计,必要时叠加 HMAC。

易错点

  • FPE 的密文可被反复查询比对,业务侧要避免把密文当唯一标识直接暴露
  • 小基数短字段的枚举风险常被低估,敏感字段建议配合访问控制或令牌化方案

数据来源与参考

  • NIST SP 800-38G(Format-Preserving Encryption)
  • NIST SP 800-38G Rev.1(FF3-1)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌