动态网站制作指南
[  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 软件工程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ 软件工程 ]的信息



本月文章推荐
.测试过程改进的缺陷漏测分析(1).
.用ADO.NET处理层次数据.
.软件项目在变化的需求中获得成功.
.界面需求的分析方法.
.为什么要用UML建模之面向对象建模.
.如何编写高质量软件需求说明书.
.UML建模工具UMLGraph 4.3 发布.
.BEA和Siebel共推SOA.
.语音识别在家电遥控器中的应用.
.模式与J2EE.
.对.Net事件委托的深入分析.
.SOA扩展Web服务的前景(一).
.软件工程辩证法.
.安全的SOA提高MedicAlert公司可靠.
.软件工程的未来之路与我们的解决.
.某政府网站被加入的自动下载病毒.
.编写优秀技术文档的技巧.
.微软WCF给SOA带来的影响.
.WinCE.Net平台下电力巡检仪数据同.
.跳出程序员的视界 感悟软件测试.

实现基于IDEA算法的加密工具(4)

文章类别:软件工程 | 发表日期:2008-3-23 |



3.3.密文解密

  介绍IDEA加密算法的资料本就不多而且对于解密过程往往一笔带过,笔者在编程实现IDEA算法时为此大伤脑筋,好在这块骨头总算被啃下了.下文笔者将结合实现代码介绍一下解密过程,假如读者想亲自动手实现IDEA算法,笔者的”痛苦经验”是可以让你少走些弯路的.

解密操作和加密的步骤基本相同,但是在求密钥时有所区别.

首先从用户输入的128位密钥扩展出52个子密钥,存放在ULONG16 Key[52]数组中,然后对这个52个子密钥进行换位操作,

新位置:
0
1
2
3
4
5
6
7
8
9
10
11
12
13

原位置:
48
49
50
51
46
47
42
44
43
45
40
41
36
38

新位置:
14
15
16
17
18
19
20
21
22
23
24
25
26
27

原位置:
37
39
34
35
30
32
31
33
28
29
24
26
25
27

新位置:
28
29
30
31
32
33
34
35
36
37
38
39
40
41

原位置:
22
23
18
20
19
21
16
17
12
14
13
15
10
11

新位置:
42
43
44
45
46
47
48
49
50
51
       
原位置:
6
8
7
9
4
5
0
1
2
3
       

表中的原位置行的值代表该子密钥在原密钥数组中的位置,比如新密钥数组中的第0号子密钥为原来子密钥组中的第48号子密钥,对子密钥数组换位后,就需要对某些子密钥进行模216+1的乘法逆或模216加法逆的替换,详情见下表(位置是针对换位后的子密钥组)请看 下一页
进行加法逆替换的子密钥的位置:

1
2
7
8
13
14
19
20
25

26
31
32
37
38
43
44
49
50


进行乘法逆替换的子密钥的位置:

0
3
6
9
12
15
18
21
24

27
30
33
36
39
42
45
48
51


需要变化的子密钥总共18+18 = 36个,另外的52 – 36 = 16个子密钥不变化.
下面介绍有关x逆元的计算方法.

X模216加法逆比较简单: x -1 = 65536 – x ;

X模216+1乘法法逆和X的关系如下:

(X*X-1 ) %65537 = 1

求解X-1需要一定的计算量,具体的算法实现代码如下:

#define LOW16(x) ((x)&0xffff)


ULONG16 mulInv( ULONG16 x)

{

ULONG16 t0,t1;

ULONG16 q,y;

if ( x<=1)

{

return x;

}

t1 = 0x10001L/x;

y = 0x10001L%x;

if(y == 1)

{

return LOW16(1-t1);

}

t0 = 1 ;

do

{

q = x/y;

x %= y;

t0 += q*t1;

if( x == 1)

{

return t0;

}

q = y/x;

y %=x;

t1 += q*t0;

}while( y != 1);

return LOW16(1-t1);

}


上一篇:实现基于IDEA算法的加密工具(7) 人气:164
下一篇:实现基于IDEA算法的加密工具(5) 人气:162
点击此处浏览全部软件工程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-5-21 仿中华网简单调查系统
2008-5-21 耐恩Wap下载网站系统 v1.0
2008-5-21 福建新闻小偷(DIV+CSS) v2 3.1
2008-5-21 超级美化阿波罗DJ程序 v1.1
2008-5-21 海涯英文视频网整站 v1.0
2008-5-21 在线考试系统源码及论文
2008-5-21 网奇IOS智能在线订单系统 ASP.NE
2008-5-21 网奇IOS智能在线订单系统 ASP.NE
2008-5-21 tom911免费电影完美版本-带自定义
2008-5-7 Windows XP SP3 官方英文版
2008-5-7 Windows XP SP3 官方香港中文版
2008-5-7 Windows XP SP3 官方繁体中文版
2008-5-7 Windows XP SP3 官方简体中文版
2008-4-30 Multiple Unzip Wizard 1.02
2008-4-30 Multiple Unrar Wizard 1.0.0
2008-4-30 WinZip Install/Try/Uninstall a
2008-4-30 ZIP压缩文件修复器WzipFix 2.0
2008-4-30 Pentazip 6.01 Build 189 For Wi
  发表评论
姓 名: 验证码: [ 全部贴吧 ] [ 浏览评论 ]
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報