选择显示字体大小

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


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加法逆的替换,详情见下表(位置是针对换位后的子密钥组)请看 下一页


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons