⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 file.txt

📁 rc5-cts 模式的实现源码,与RFC中的实有所不同
💻 TXT
字号:
发信人: Marslv (梦幻人生), 信区: Program 
标  题: RC5算法(转) 
发信站: BBS汕头大学郁金香站 (Sun Oct 22 00:33:08 2000), 转信 
标  题: RC5算法 
发信站: 逸仙时空 Yat-sen Channel (Sat Apr 22 00:11:30 2000), 站内信件 
    我最常用的分组算法之一,使用最大长度为256字节的变长密码。 
RC5接受两个参数r:循环的次数,b:以word计算密码长度。 
初始化子密钥数组S[2*r+2]: 
定义P=0xb7e15163,Q=0x9e3779b9 
S[0]=p,S[i]=(S[i+1]+Q) mod power(2,w); 
i=j=0;A=B=0; 
循环3*max(2*r+2,b)次以下步骤: 
  A=S[i]=rol((S[i]+A+B),3) 
  B=K[j]=rol((K[j]+A+B),(A+B)); 
  i=(i+1) mod 2*r+2 
  j=(j+1) mod b 
加密算法: 
  对长度为2words的明文M[2]作以下变换,得到密文C[2] 
  C[0]=M[0]+S[0];C[1]=M[1]+S[1]; 
  For i=1 to r 
    C[0]=rol((C[0] xor C[1]),C[1])+S[2*i] 
    C[1]=rol((C[1] XOR C[0]),M[0])+S[2*i+1] 
解密算法: 
  对长度为2words的密文C[2]作以下变换,得到明文M[2] 
  For i=r downto 1 
    C[1]=ror((C[1]-S[2*i+1],C[0]) xor C[0] 
    C[0]=ror((C[0]-S[2*i],C[1]) xor C[1] 
  EndFor 
  M[1]=C[1]-S[1] 
  M[0]=C[0]-S[0]  张迎平

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -