网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
本月文章推荐
.建模过程的盲点:软件集成中的软知.
.“寻找圣杯的任务”——度量软件.
..NET正则表达式使用高级技巧之工.
.用UML进行W3C XML Schema设计.
.软件项目需求分析困难的原因.
.使用模式集成UML视图.
.细说ADO.NET命令.
.养成“好”的编程习惯.
.Iona发布SOA基础架构产品Artix 4.
.程序员必须注意的十大安全技巧.
.界面需求的分析方法.
.利用HSQLDB进行Hibernate单元测试.
.新上任项目经理遇到的难题.
.[译]管理Windows 2000 Pro中的DN.
.让你的软件具有在线升级功能.
.消息与.Net Remoting的分布式处理.
.技术巨人支持新的SOA编程模型.
.设计安全的Visual Studio.NET互联.
.简单分析:IPS与IDS的价值与应用.
.Apache APR可移植运行库简介(2).

IBM的MARS加密算法实现(5)

发表日期:2008-3-23


作者:吴真

2.2.2第二步密码核

把输入的128位数据分成四块D[0],D[1],D[2],D[3] ,其中D[0]作为源数据(Source),剩下的3个作为目标数据

IBM的MARS加密算法实现(5)


该步骤中有一个称为E-Fun(见下一节)的操作,把Source和对应两个子密钥(从第5个子密钥开始递增,本轮的输入子密钥K[4],K[5]下一轮的子密钥就是K[6],K[7])作为参数输入,返回三个操作输出L,M,R,然后把这三个输出结果和三个目标数进行加法或异或操作,然后把Source循环左移13位,合并D[0],D[1],D[2],D[3]形成128位数据,循环左移32位后作为下一轮的输入.

本步骤共进行16轮,假定E-Fun的第一个输出数为L,第二个输出数为M,第三个输出数为R
前8轮中,
FirstTarget 和 L相加的结果返回给FirstTarget
SecondTarge和M相加的结果返回给SecondTarget
ThirdTarget和R按位异或的结果返回给ThirdTarget
后8轮中:
FirstTarget 和 R按位异或的结果返回给FirstTarget
SecondTarge和M相加的结果返回给SecondTarget
ThirdTarget和L相加的结果返回给ThirdTarget
2.2.3 E-Fun操作

该操作利用输入的"种子"数据-D,和两个加密子密钥K1和K2生成3个输出数据.
定义三个临时变量L,M,R
◆ 把D(输入的种子数据)循环右移13位后的结果赋给R
◆ 把D和K1加操作的结果赋给M
◆ 取M的低9位作为s-box的索引找到替代数赋给L
◆ 把R和K2乘操作的结果作循环左移5位后的值返回给R
◆ 把L和R按位异或的结果返回给L
◆ 取R的低五位的值,把M循环左移这个值后的结果返回给M
◆ 把R循环左移5位后的结果返回给R
◆ 把L和R按位异或的结果返回给L
◆ 取R的低五位的值,把L循环左移这个值后的结果返回给L
把L,M,R作为E-Fun操作的第一,第二,第三输出数返回.

上一篇:IBM的MARS加密算法实现(4) 人气:654
下一篇:IBM的MARS加密算法实现(1) 人气:815
浏览全部软件工程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐