-
-
[求助]此算法是否可逆?
-
发表于:
2004-9-25 19:43
3774
-
1.变量说明
a(0)-a(6):原密码(七位)
b(0)-b(6):加密后密码(七位)
sa、sb:随机数
t0、i、t1、t2、t3、t4:中间变量
o1、o2、o3、o4:部分输出变量
住:以上变量除t0占两个字节外,其余变量均占一个字节
2.程序算法 (C语言,不含输入输出)
for (i=0;i++;i<7)
t1=(t1+a(i))%256;
t2=(sa+sb)%256;
t3=sa^sb;
t0=t1*t2;
o1=t0%256;
o2=(t0-o1)/256;
for (i=0;i++;i<5)
b(i)=(a(i)+a(i+1)+a(i+2))%256;
b(5)=(a(0)+a(4)+a(5))%256;
b(6)=(a(0)+a(1)+a(5))%256;
for (i=0;i++;i<7)
b(i)=(b(i)*t3)%256;
t4=t2 AND 7;
o3=(t2+a(0)^a(1))%256;
o4=(t2+a(1)^a(2))%256;
if (t4==0||t4>2) {o3=0;o4=0;}
else if (t4==1) {o4=0;}
3.输出
b(0)-b(6)、sa、sb、o1、o2、o3、o4
问:该算法是否可逆?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!