诚意先开100分,如果有朋友能够帮我解决,500分全部给上.算法要求如下:A:12345678 --- 8位数字 (7~9位内部) 10位的绝对不要!!!
B:12345678 --- 8位数字 (长度同A)K1: ------ 任意密钥1
K2: ------ 任意密钥2要求处理过程如下: K1:K2 加密
A:B------------>C:D
要求
C:12345678 --- 数字 (长度同A)
D:12345678 --- 数字 (长度同B)==========
注意这个算法的两个特殊要求:
1.从数字到数字加密,不允许出现0~9数字以外的算法;
2.数字的长度不能超过7<LEN(A,B)<10谢谢,我会常来关注.
有兴趣也可以给我email,我的电子邮件地址:
[email protected]; [email protected]
B:12345678 --- 8位数字 (长度同A)K1: ------ 任意密钥1
K2: ------ 任意密钥2要求处理过程如下: K1:K2 加密
A:B------------>C:D
要求
C:12345678 --- 数字 (长度同A)
D:12345678 --- 数字 (长度同B)==========
注意这个算法的两个特殊要求:
1.从数字到数字加密,不允许出现0~9数字以外的算法;
2.数字的长度不能超过7<LEN(A,B)<10谢谢,我会常来关注.
有兴趣也可以给我email,我的电子邮件地址:
[email protected]; [email protected]
不过不能对抗已知明文攻击
或者能否给出简单算法模型?我已经掌握一套TEA算法,
但是不能满足长度问题!
let
var c0:=12 /* cipher text */
var c1:=23 var p0:=45 /* plain text */
var p1:=56
in
let
var delta := 0x9e3779b9
var sum := delta << 5
var y := c0
var z := c1 in ( for n:= 1 to 32 do (
z:=z - (((y << 4) + k0()) ^
( y + sum ) ^
((y >> 5) + k1()) );
y:=y - (((z << 4) + k0()) ^
( z + sum ) ^
((z >> 5) + k1()) );
sum:= sum - delta
);
c0:=y;
c1:=z;
(c0=p0)&&(c1=p1)
)
end
end
大致看了一下,是我已经有的,现在关键是需要位数可以定制的你这段代码我都不能再熟悉了,但是密码是2^32长度的,
不满足实际问题中灵活多变的要求,能否给一套好用点的?
我所产生的密文需要数值上非常发散,
你上面的tea代码强度可以,
就是长度不能更改!有没有加密高手对此感兴趣?
http://community.csdn.net/Expert/topic/3586/3586885.xml?temp=4.647464E-02
假设 y=D(x) 是一个加密算法.
并且保持 y和 x 的长度一样.(1) x = 12345678
(2) x1 = 01234567 (将每个数字减1)
(3) x2 = 4553207(将x1看作8进制数,转化成10进制数,这里允许出现0和9)
(4) y2 = D(x2)
假设 y2 = 16434824 (这里允许出现0和9)
(5) y1 = 76543210 (将y2转化成8进制数)
(6) y = 87654321 (将y1每个数字加1)于是加密完毕
y = M(x),其中
M(12345678) = 87654321
另外加密强度也不高啊!
http://community.csdn.net/Expert/topic/3586/3586885.xml?temp=4.647464E-02这里存在的问题是尽管des算法是对称可还原的,但是不能保证将数字加密成等长数字序列.