分组密码和数据加密标准
传统分组密码结构
分组密码与流密码
流密码每次加密数据流的一位或一个字节,例如Vigenere密码和Vernam密码。
分组密码是将一个明文分组整体加密,并且通常得到与之等长的密文分组。
Feistal密码结构
设计动机
n n n位明文分组的的可逆映射共 2 n ! 2^n! 2n!个(具有 2 n ! 2^n! 2n!个代换的分组密码称为理想分组密码)。
- n n n较小,则容易被穷举攻击攻破
- n n n较大,需要 n × 2 n n\times2^n n×2n的存储空间存储密钥
密码结构
Shannon提出S-P Network(Substitution - Permutation)代替-置换网络。
Feistal密码是对于理想分组密码的近似,在可以容易实现部件的基础上逐步建立。Feistal使用乘积密码来逼近理想分组密码,交替地使用代替和置换。
密钥长度为 k k k,采用 2 k 2^k 2k个变换,而非 2 n ! 2^n! 2