寻求下面算法的破解方法
来源:互联网 发布:网络影视课程编导论 编辑:程序博客网 时间: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) 由Salt、key、文件长度、Strong进行拼合[①]得到Ka,分别使用SHA-512与Whirlpool散列,得到两个512位的散列值。再将两散列值拼合与密钥和当前循环轮数相加后再次散列,循环50次后得到一个1024位的K0。
(2) 使用K0得到Strong +1个KC,方法如下:
将K0+i用MD5散列,得到结果为KC[i],后置K0:= K0+MD5(K0+i)。
(3) 用相同方法得到Strong+2个KB与Strong+3个KC。
2. 加密过程
iKA,iKB分别指向KA、KB正在使用的位置;it表示正在进行的轮数,ip表示正在执行的分组数。
For ip:=1→G step 1
M:=读取第ip组数据
For it=1→Strong step 1
使用第(KA[iKA]⊕(KA[iKA]>>1))&3种反馈算法对M与KC[it] 各进行一次反馈操作,反馈输入为KC[it]。
使用第KA[iKA]⊕(KA[iKA]>>9)&7种子替换模块对M于KB[iKB] 各进行一次加密,密钥为KB[iKB]。
对KB[iKB]进行高低位置换。
使用第KA[iKA]⊕(KA[iKA]>>17)&7种子置换模块对M于KA[iKA]各进行一次加密,密钥为KB[iKB]。
End for
使用第(KA[iKA]⊕(KA[iKA]>>1))&3种反馈算法对M与KC[it] 各进行一次反馈操作,反馈输入为KC[it]。
输出M
End for
3. 文件尾生成
文件尾包括:加密版本信息(8bit)、文件前部随即填充块长(8bit)、Strong(8bit)、salt(8bit)。
使用K0进行分成两部分→异或→分成两部分→异或……直至长度缩短为32位后与文件尾异或。
将文件尾保存在文件末端
[①] 此处,拼合表示将几个值顺序连接起来。
- 寻求下面算法的破解方法
- Mac下面的SecureCRT 破解方法
- mac 下面破解MyEclipse 10的方法
- 我在寻求工作治理的方法
- 网上很多Rose2003的破解方式都无效,下面是几经尝试发现的方法。
- 寻求有效的TrojanWin32木马查杀方法
- C#返回byte[]给dll的方法,寻求帮助
- xmlSpy已经破解了,但是每次启动都会自动关闭,下面的方法可以屏蔽xmlSpy联网。
- 寻求帮忙破解一个合同管理软件
- ubuntu下面截图的方法
- 寻求生活的快乐
- 寻求真切的爱情
- 破解apk 包下面的layout xml 文件
- confluence的破解方法
- 万象的破解方法
- VCLSkin 的破解方法
- viPlugin的破解方法
- VS2008的破解方法
- XSL样式表
- gpg公钥验证错误的解决
- [转帖]Windows WorkFlow Foundation 入门
- 常用正则表达式收集
- Hibernate实现多表查询
- 寻求下面算法的破解方法
- 处理字符串的常用操作
- ASP.Net 循环处理上传文件
- 天霸网络应用开发平台简介(1)
- 沁园春 【宋】刘克庄
- 天霸网络应用开发平台简介(2)
- 天霸网络应用开发平台简介(3)
- 这孩子太有幽默感了
- 天霸网络应用开发平台简介(4)