hbqjxhw 发表于 2006-9-29 01:22:51

CAST-128加密算法有没有VB源程序?

CAST-128加密算法,这是一种类似于DES的置换组合网路
(Substitution-PermutationNetwork,SPN)加密系统,对于微分密码分析、线性密码分析、
密码相关分析具有较好的抵抗力。这种加密还有其他的几个理想的特点,包括雪崩、严格的
雪崩标准(SAC)、位独立标准(BIC)、没有互补属性也不存在软弱或者半软弱的密钥。因
此对于整个Internet社区——要求密码强壮、容易获取的加密算法——而言,这是一种能够
满足一般应用的很好的选择。
Adams详细地讨论了CAST设计过程,对于这种算法的分析也可以在网上找到
(比如,或)。

2 算法的描述
CAST-128属于称为Feistel加密的一类加密算法,因此所有的操作都类似于数据加密标
准(DES)。完整的加密算法分下面四步给出。
输入:明文m1...m64;密钥K=k1...k128
输出:密文c1...c64
1)(密钥表)从K计算出16对子钥(Kmi,Kri)(参见2.1到2.4节);
2)(L0,R0)<--(m1...m64)(把明文分为左右两半,L0=m1…m32,R0=m33…m64);
3)(循环16次)对于i从1到16,按下述方法计算Li和Ri:
Li=Ri-1;
Ri=Li-1^f(Ri-1,Kmi,Kri),其中f在第2.2节中定义。(f根据i的不同,可以是
Type1、Type2或者Type3)
4)c1...c64<--(R16,L16)(交换最终得到的L16和R16并连接在一起构成密文。)
解密算法与上述加密算法一致,只不过循环(因此还有子钥对)是按照相反的顺序从
(R16,L16)计算出(L0,R0)。
可以使用附录B中的测试向量验证该算法的正确性。
页: [1]
查看完整版本: CAST-128加密算法有没有VB源程序?