簡述RC6加密算法
RC6加密算法隸屬于RC系列算法,是Ron Rivest為RSA公司設計的一系列密碼算法。在上個世紀末AES算法公開選拔中,RC6加密算法成為最終入選的五個算法之一,今天我們就來了解一下它。

要了解RC6加密算法,我們先來了解一下它同系列的“前輩們”。
現(xiàn)在我們用到的RC系列算法包括RC2、RC4、RC5、RC6算法,其中RC4是序列密碼算法,其他三種是分組密碼算法。
- RC2算法
該算法設計的目的是用來取代DES算法,它采用密鑰長度可變的對明文采取64位分組的分組加密算法,屬于Festel網(wǎng)絡結構。
- RC4算法
該算法是一個密鑰長度可變的面向字節(jié)流的加密算法,以隨機置換為基礎。該算法執(zhí)行速度快,每輸出1字節(jié)的結果僅需要8~16字節(jié)的機器指令。
- RC5算法
該算法是一種分組長度、密鑰長度、加密迭代輪數(shù)都可變的分組加密算法。該算法主要包含三部分內容:密鑰擴展、加密算法和解密算法。
- RC6算法
RC6秉承了RC5設計簡單、廣泛使用數(shù)據(jù)相關的循環(huán)移位思想,同時增強了抵抗攻擊的能力,改進了RC5中循環(huán)移位的位數(shù)依賴于寄存器中所有位的不足。

RC6加密算法原理
RC6分組長度為128bit,使用了4個寄存器,并使用32bit的整數(shù)模乘運算,用于加強擴散特性。RC6更精確的表示是RC6-w/r/b,其中字長為w(bit),r為加密輪數(shù),b為加密密鑰,用字節(jié)表示的長度。通常令w=32,r=20,b=16(24,32)。
RC6繼承了RC5的優(yōu)點,在加密過程中不需要查表,加上算法中的乘法運算可以用平方代替,所以該算法對內存要求極低,這使得RC6適合在單片機上實現(xiàn)。
對RC6最為有效的攻擊是強力攻擊,但由于分組長度和密鑰都至少是128bit,窮舉法并不可行。對20輪的RC6,用線性分析法至少需要2^155個明文,用查分分析法至少需要2^238個明文。

RC6加密算法的特點
RC6加密算法秉承了RC5設計簡單、廣泛使用數(shù)據(jù)相關的循環(huán)移位思想,同時增強了抵抗攻擊的能力,改進了RC5中循環(huán)移位的位數(shù)不依賴于寄存器中所有位的不足。
RC6加密算法新的特色是輸入的明文由原先2個區(qū)塊擴展為4個,另外在運算方面則是使用了整數(shù)乘法,而整數(shù)乘法的使用則在每一個運算回合中增加了擴散(diffusion)的行為,并且使得即使很少的回合數(shù)也有很高的安全性。
同時,RC6加密算法中所用的操作可以在大部分處理器上高效率地實現(xiàn),提高了加密速度。
RC6加密算法是一種安全、架構完整而目簡單的區(qū)塊加密法。它提供了較好的測試結果和參數(shù)方面相當大的彈性,可以抵抗近乎所有已知的攻擊。
免責聲明:素材源于網(wǎng)絡,如有侵權,請聯(lián)系刪稿。




