日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

CAST-128加密算法( 三 )


令Kr1,…,Kr16為32位的旋轉(zhuǎn)子鑰(每次循環(huán)使用一個(gè),只是用最低的5位);
for(i=1;i<=16;i){Kmi=Ki;Kri=K16 i;}
2.5 可變的密鑰長度
CAST-128加密算法被設(shè)計(jì)為密碼長度是可變的,從40位到128位,每次遞增8位(就
是說,密碼長度可以是40、48、56、64…112、120、128位) 。對于不同的密碼長度,分別
采用不同的規(guī)范:
1) 密碼長度從40到80(含80),按照上述算法操作,但是采用12循環(huán)而不是16 。
2) 假如密碼長度大于80位,采用完整的16次循環(huán) 。
3) 假如密碼長度小于128位,則在最低位補(bǔ)0直到128位(因?yàn)镃AST-128密鑰表假
定輸入的密碼是128位的 。)
盡管CAST-128支持上述12種長度的密碼,但在典型的應(yīng)用中發(fā)現(xiàn)40、64、80和128
位是最有用的密碼長度 。因此,只要支持這四種長度的子集對于大多數(shù)應(yīng)用就足夠了 。
為了避免在使用不同的密碼長度操作時(shí)發(fā)生混淆,CAST-128被認(rèn)為與名CAST5是同
義的,這樣在后面加上密碼長度就不會(huì)發(fā)生歧義了 。這樣,比方說使用40位密碼的CAST-128
就被表示為CAST5-40;假如明確地使用128位密碼,應(yīng)該使用名稱CAST5-128 。
2.6 CAST5對象標(biāo)識(shí)符
假如需要在協(xié)議中的算法協(xié)商中,或者其它需要使用對象標(biāo)識(shí)符的上下文中使用
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是可選的,默認(rèn)為全0 。在編碼后,假如使用全0的iv,那么該參數(shù)不
應(yīng)該出現(xiàn)在參數(shù)中 。解碼后,假如iv沒有出現(xiàn)在參數(shù)列表中,應(yīng)該解釋為該參數(shù)全部
字節(jié)都是0 。
下面是使用CAST-128對稱塊密碼算法的CBC模式的加密和解密 。
cast5MACOBJECTIDENTIFIER::={algorithmscast5MAC(11)}
Parameters::=SEQUENCE{
macLengthINTEGER,--MAClength,inbits
keyLengthINTEGER--Keylength,inbits
}
下面是使用CAST-128對稱塊密碼算法的消息驗(yàn)證 。
pbeWithMD5AndCast5CBCOBJECTIDENTIFIER::=
{algorithmspbeWithMD5AndCAST5-CBC(12)}
Parameters::=SEQUENCE{
saltOCTETSTRING,
iterationCountINTEGER,--Totalnumberofhashiterations
keyLengthINTEGER--Keylength,inbits
}
注重:IV是從哈希過程派生的,因此不必放在參數(shù)中 。
這是以CBC模式使用MD5和CAST-128對稱塊密碼的基于密碼的加密和解密 。關(guān)于
PBE計(jì)算的具體資料參見PKCS#5(它使用了DES密碼) 。
2.7 討論
CAST-128是一種12或16循環(huán)的Feistel密碼,塊長度是64位,密碼長度最大128位;
它使用旋轉(zhuǎn)實(shí)現(xiàn)對線性和微分分析的內(nèi)在免疫性;在循環(huán)函數(shù)中混合使用XOR、模為2**32
的加減法;在加密過程中使用三種不同的循環(huán)函數(shù) 。最后,循環(huán)函數(shù)中使用的8x32置換箱,
每一個(gè)最小的非線性為74,而且不同的分配表中最大項(xiàng)是2 。
按照其密碼長度(128)而言,這種加密是很強(qiáng)大的,而且具有很好的加密/解密效率,
在150MHz的奔騰處理器上每秒可以處理3.3M字節(jié) 。
3 知識(shí)產(chǎn)權(quán)的問題
本文檔描述的CAST-128加密算法可以在世界范圍內(nèi)免費(fèi)用于商業(yè)和非商業(yè)用途 。
4 安全性的問題
本備忘錄完全是關(guān)于安全性的,它描述了一種算法專門用于加密的目的 。
5 參考
[Adams]Adams,C.,"ConstrUCtingSymmetricCiphersusingtheCAST
DesignProcedure",Designs,Codes,andCryptography(toappear).
[Web1]"ConstructingSymmetricCiphersusingtheCASTDesign
Procedure"(identicalto[Adams]butavailableon-line)and"CAST

推薦閱讀