寻求下面算法的破解方法

来源:互联网 发布:网络影视课程编导论 编辑:程序博客网 时间:2024/05/16 17:36

温潇   admit.wenx@gmail.com

转贴请注明出处

寻求下面算法的破解方法。(Copy Right by WenX, admit.wenx@gmail.com

本加密算法由温潇,WenX, admit.wenx@gmail.com提出。

      输入:分组大小待加密文件名输出文件名加密强度(Strong)key

//假设现有16个子替换模块,16个子置换模块,4种反馈模式,分别编号为0~15;0~15;0~3

0.             预处理

得到分组数量(G)

分组时的在文件前部填充随机数直至恰好能够分成整数组。

1.             子密钥生成

(1)       Saltkey文件长度Strong进行拼合[]得到Ka,分别使用SHA-512Whirlpool散列,得到两个512位的散列值。再将两散列值拼合与密钥和当前循环轮数相加后再次散列,循环50次后得到一个1024位的K0

(2)       使用K0得到Strong +1KC,方法如下:

K0+iMD5散列,得到结果为KC[i],后置K0:= K0+MD5(K0+i)

(3)       用相同方法得到Strong+2KBStrong+3KC

2.             加密过程

iKA,iKB分别指向KAKB正在使用的位置;it表示正在进行的轮数,ip表示正在执行的分组数。

For ip:=1G step 1

M:=读取第ip组数据

        For it=1Strong step 1

           使用第(KA[iKA]⊕(KA[iKA]>>1))&3种反馈算法对MKC[it] 各进行一次反馈操作,反馈输入为KC[it]

      使用第KA[iKA]⊕(KA[iKA]>>9)&7种子替换模块对MKB[iKB] 各进行一次加密,密钥为KB[iKB]

      KB[iKB]进行高低位置换。

      使用第KA[iKA]⊕(KA[iKA]>>17)&7种子置换模块对MKA[iKA]各进行一次加密,密钥为KB[iKB]

      End for

使用第(KA[iKA]⊕(KA[iKA]>>1))&3种反馈算法对MKC[it] 各进行一次反馈操作,反馈输入为KC[it]

输出M

End for

3.             文件尾生成

文件尾包括:加密版本信息(8bit)、文件前部随即填充块长(8bit)Strong(8bit)salt(8bit)

使用K0进行分成两部分→异或→分成两部分→异或……直至长度缩短为32位后与文件尾异或。

将文件尾保存在文件末端



[] 此处,拼合表示将几个值顺序连接起来。

原创粉丝点击