网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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
本月文章推荐
.论设计与编程的关系.
.服务基础架构软件加速企业SOA实施.
.杂谈:项目管理的是与非.
.需求管理详解.
.用Vista和WCF中P2P通信功能开发软.
.UML在嵌入式系统设计中的应用(1).
.数据库设计三大范式应用实例剖析.
.好的测试工程师应具备的素质.
.IBM 建立商业解决方案中心.
.一个PRM系统实施的经验与教训.
..NET 2.0 中对配置文件的读写.
.浅谈多态—概念描述.
.软件项目可行性分析和需求分析(1).
.用户手册在软件质量中的地位.
.Web应用的UML建模与.NET框架开发.
.应用服务器向SOA靠拢.
.浅析软件项目管理中的10个误区.
.架构设计师与SOA(二).
.SQA报告.
.商务集成----Microsoft .NET的优.

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

发表日期:2008-3-23


作者:吴真

2.1密钥的生成

MARS算法支持128~448位变长密钥,定义一个临时容器ULONG32 T[15]用于存放用户输入的密钥,
T[0,1…n] = K[0,1…n]
T[n] = n ;
T[n+1,…14] = 0 ;
其中n是用户输入密钥的长度(4字节为单位).
然后按照下面的算法进行操作:


for ( j = 0 ; j < 4 ; j++)
{
for ( i = 0; i < 15 ;i++)
{
/*T[i] ^= ((T[(i-7)%15]^T[(i-2)%15])<<<3)^(4*i+j);*/
}
for ( r = 0 ; r < 4 ; r++)
{
for ( i = 0; i < 15 ;i++)
{
/*T[i] = T[i]+ S[low 9 bits of T[(i-1)%15]])<<<9;*/
}
}
for ( i = 0 ; i < 10 ; i++)
{
/*T[10*j+i] = T[4*i%15];*/
}

最后我们需要修正那些在E-Fun操作中用作乘数的密钥也就是子密钥数组中的K[5],K[7],K[9],…K[35],要求他们的二进制表示形式中没有连续10个以上(含10个)的0或1.
需要修正的密钥为K[i] = K0K1K2…K30K31
保留K[i]的最低两位的值 n = K[i]&0x3,
把K[i]的最低两位置1 w = K[i] 0x3 ,
产生掩码M:
最低两位置1后的K的二进制表示中假如含有10以上连续的0或1,那么将这些连续位置1,其他的位置0,然后把最低的两位和最高位置0,最后把连续位(1或0单独算)的起始位和中止位置0.
例如:

产生掩码后,我们利用n值作为s-box的索引取得一个替代值,这个s-box含有4个32位的元素,每个元素的二进制表示不含7个(含7个)连续的1或0,MARA算法推荐的s-box为
ULONG32 B[4] = { 0xa4a8d57b , 0x5b5d193b , 0xc8a8309b , 0x73f9a978 }
然后利用如下算式得出K[i]:
K[i] = w ^ (( B[n] <<< ( low 5 bits of K[i-1]) & M)

上一篇:IBM的MARS加密算法实现(2) 人气:722
下一篇:谈谈软件项目管理的重要性(2) 人气:479
浏览全部软件工程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐