RC2加密算法


1.introduction

RC2是一種傳統的私鑰塊加密算法,曾經被考慮作為DES算法的替代品。輸入和輸出塊大小都是64bits。而密鑰是可變的,從1byte到128bytes,現在常用的是8字節。

1.1Algorithm description

字:16比特位;‘+’:加;‘&’:表示比特敏感的與操作;‘XOR’:表示比特敏感的與或操作;‘~’:表示換位補碼;‘^’:表示取冪運算;

2.key expansion(密鑰擴展)

對於字操作,將規定緩存位置K[0],…,K[63];each K[i] is a 16 bit word

對於比特位操作,將規定緩存位置L[0],…,L[127];each L[i] is an eight-bit字節。

轉換公式:K[i] = L[2*i] + 256*L[2*i+1].

密鑰擴張的目的就是根據提供的密鑰將其擴張成要求的密鑰長度。

3.Encryption algorithm(加密算法)

主要是兩個操作,mix和mash操作。’x rol k’表示16比特位左轉k位,高位補低位。

   3.1 Mix up R[i]

   3.2 Mixing round

   3.3 Mash R[i]

   3.4 Mashing round

   3.5 Encryption operation 

4.Decryption algorithm(解密算法)

   4.1 R-Mix up R[i]

   4.2 R-Mixing round

   4.3 R-Mash R[i]

   4.4 R-Mashing round

   4.5 Decryption operation

 

參考文獻:RFC 2268


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM