CAST-128加密算法( 三 )


令Kr1,…,Kr16为32位的旋转子钥(每次循环使用一个,只是用最低的5位);
for(i=1;i<=16;i){Kmi=Ki;Kri=K16 i;}
2.5 可变的密钥长度
CAST-128加密算法被设计为密码长度是可变的,从40位到128位,每次递增8位(就
是说,密码长度可以是40、48、56、64…112、120、128位) 。对于不同的密码长度,分别
采用不同的规范:
1) 密码长度从40到80(含80),按照上述算法操作,但是采用12循环而不是16 。
2) 假如密码长度大于80位,采用完整的16次循环 。
3) 假如密码长度小于128位,则在最低位补0直到128位(因为CAST-128密钥表假
定输入的密码是128位的 。)
尽管CAST-128支持上述12种长度的密码,但在典型的应用中发现40、64、80和128
位是最有用的密码长度 。因此,只要支持这四种长度的子集对于大多数应用就足够了 。
为了避免在使用不同的密码长度操作时发生混淆,CAST-128被认为与名CAST5是同
义的,这样在后面加上密码长度就不会发生歧义了 。这样,比方说使用40位密码的CAST-128
就被表示为CAST5-40;假如明确地使用128位密码,应该使用名称CAST5-128 。
2.6 CAST5对象标识符
假如需要在协议中的算法协商中,或者其它需要使用对象标识符的上下文中使用
CAST,可以使用以下定义的OID 。
algorithmsOBJECTIDENTIFIER::=
{iso(1)memberBody(2)usa(840)nt(113533)nsn(7)algorithms(66)}
cast5CBCOBJECTIDENTIFIER::={algorithmscast5CBC(10)}
Parameters::=SEQUENCE{
ivOCTETSTRINGDEFAULT0,--Initializationvector
keyLengthINTEGER--Keylength,inbits
}
注重:iv是可选的,默认为全0 。在编码后,假如使用全0的iv,那么该参数不
应该出现在参数中 。解码后,假如iv没有出现在参数列表中,应该解释为该参数全部
字节都是0 。
下面是使用CAST-128对称块密码算法的CBC模式的加密和解密 。
cast5MACOBJECTIDENTIFIER::={algorithmscast5MAC(11)}
Parameters::=SEQUENCE{
macLengthINTEGER,--MAClength,inbits
keyLengthINTEGER--Keylength,inbits
}
下面是使用CAST-128对称块密码算法的消息验证 。
pbeWithMD5AndCast5CBCOBJECTIDENTIFIER::=
{algorithmspbeWithMD5AndCAST5-CBC(12)}
Parameters::=SEQUENCE{
saltOCTETSTRING,
iterationCountINTEGER,--Totalnumberofhashiterations
keyLengthINTEGER--Keylength,inbits
}
注重:IV是从哈希过程派生的,因此不必放在参数中 。
这是以CBC模式使用MD5和CAST-128对称块密码的基于密码的加密和解密 。关于
PBE计算的具体资料参见PKCS#5(它使用了DES密码) 。
2.7 讨论
CAST-128是一种12或16循环的Feistel密码,块长度是64位,密码长度最大128位;
它使用旋转实现对线性和微分分析的内在免疫性;在循环函数中混合使用XOR、模为2**32
的加减法;在加密过程中使用三种不同的循环函数 。最后,循环函数中使用的8x32置换箱,
每一个最小的非线性为74,而且不同的分配表中最大项是2 。
按照其密码长度(128)而言,这种加密是很强大的,而且具有很好的加密/解密效率,
在150MHz的奔腾处理器上每秒可以处理3.3M字节 。
3 知识产权的问题
本文档描述的CAST-128加密算法可以在世界范围内免费用于商业和非商业用途 。
4 安全性的问题
本备忘录完全是关于安全性的,它描述了一种算法专门用于加密的目的 。
5 参考
[Adams]Adams,C.,"ConstrUCtingSymmetricCiphersusingtheCAST
DesignProcedure",Designs,Codes,andCryptography(toappear).
[Web1]"ConstructingSymmetricCiphersusingtheCASTDesign
Procedure"(identicalto[Adams]butavailableon-line)and"CAST

推荐阅读