淺析RC6加密算法

1997年NIST(NationalInstituteofStandardsandTechnology)向全世界招募在21世紀替代DES的高級加密標準AES(AdvancedEncryptionStandard),1999年,NIST宣布有5個加密算法作為最后的候選者接受全世界將近一年的考察。這其中就有RC6加密算法算法。

RC6加密算法是在RC5基礎上發(fā)展起來的,按照AES的要求設計的新型加密算法。跟RC5類似,RC6使用的是相關數(shù)據(jù)循環(huán)移位的思想。RC5本身是一個非??斓姆纸M密碼,但它在處理128位分組塊時使用2個64位的工作寄存器,而AES目前在講究效率和簡潔方面不支持64位操作,所以RC6對此做了修改,改用四個32位工作寄存器,這樣使得在每次循環(huán)中要做兩次循環(huán)移位操作,讓更多的數(shù)據(jù)位來決定循環(huán)次數(shù)。RC6中又添加了整數(shù)乘法操作。乘法操作在RC6中被用來計算循環(huán)移位的位數(shù),使得循環(huán)移位的位數(shù)將與另一個寄存器中的所有位相關,因此RC6每次循環(huán)都比RC5有更快的擴散性。這使得RC6可以利用較少的循環(huán)次數(shù)達到要求的安全性能,從而提高了數(shù)據(jù)的吞吐能力。

RC6加密算法的性能

算法時間測試

淺析RC6加密算法

以上數(shù)據(jù)取的是時間平均值,每個測試執(zhí)行10遍,并統(tǒng)一換算到200MHzCPU的情況下。從上表可以看出,RC6的加密速度很快。在VPN的加密方案中,由于為了確保要求的安全性往往會影響到數(shù)據(jù)的傳輸速率。RC6在這一方面有很強的優(yōu)勢。

RC6加密算法的安全性
這里假設攻擊RC6加密算法最好的途徑是窮舉法,窮舉b位的密鑰(或者擴展密鑰),這種野蠻的攻擊方式對任何的塊加密都適用,但只能在一定長度的密鑰下進行分析。

淺析RC6加密算法

從數(shù)據(jù)上可以看出,RC6加密算法在加入了二次函數(shù)f(x)=x(2x+1)以及二次函數(shù)變換,大大提高了密碼擴散性和密碼的非線性。而且,RC6的加解密的時間都與數(shù)據(jù)無關,可以有效地避免“時間攻擊”。