首页/安全/加密与证书速查/Feistel 结构与 SPN 结构
本包目录(305 条)
加密算法基础95 条
TLS 与 HTTPS60 条证书与 PKI30 条OpenSSL 实战30 条证书运维排查49 条密钥管理41 条

Feistel 结构与 SPN 结构

分组密码的两大构造方式:Feistel 网络(DES/3DES/Blowfish/Camellia)加解密共用轮函数;SPN 置换网络(AES/SM4)每轮由可逆 S 盒与线性层组成。

加密与证书速查安全更新于 2026-10-12

结构对照

结构代表算法特点
Feistel 网络DES、3DES、Blowfish、Camellia轮函数无需可逆,加解密电路可复用
SPN 置换网络AES、SM4每层必须可逆,扩散通常更快

实现层面的影响

实现层面的影响
Feistel:只需实现轮函数 F 与密钥编排,解密用同一份轮密钥逆序
SPN:需要实现逆 S 盒与逆线性层(或采用 CTR/GCM 这类只用加密方向的模式)
采用 CTR/GCM 等工作模式时只需要分组加密方向,SPN 的逆运算实现可省略,代码量更小。

易错点

  • Feistel 的轮函数可以不可逆,但密钥编排仍须保证解密轮密钥正确逆序
  • 把两类结构的实现细节互相套用(例如给 SPN 设计不可逆层)会导致无法解密

数据来源与参考

  • FIPS 197(AES 结构)
  • NIST SP 800-67 Rev.2(TDEA 结构)
  • GB/T 32907-2016
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌