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

来源:王朝搜索
 
IBM的MARS加密算法实现(1)

作者:吴真 一、背景知识

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

作者:吴真 2.2.2第二步密码核 把输入的128位数据分成四块D,D,D,D ,其中D作为源数据(Source),剩下的3个作为目标数据 该步骤中有一个称为E-Fun(见下一节)的操作,把

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

作者:吴真 2.2.4 第三步后向混合 把输入的128位数据分成四块D,D,D,D第一轮: 输入的四块数据D,D,D,D,其中D作为源数据(Source),剩下的3个作为目标数据,把32位的

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

作者:吴真 2.3.2第二步密码核 把输入的128位数据循环左移32位后分成四块D,D,D,D,其中D作为源数据(Source),剩下的3个作为目标数据, 把Source循环右移13位的结果返回

IBM的MARS加密算法实现(目录)

作者:吴真 密钥增加作为预白化处理,经8轮无密钥的向前混合,8轮有密钥的向前变换,8轮有密钥的向后变换,8轮无密钥的向后混合,以及作为后白化处理的密钥减法。

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

作者:吴真 2.1密钥的生成 MARS算法支持128~448位变长密钥,定义一个临时容器ULONG32 T用于存放用户输入的密钥, T = K T = n ; T = 0 ; 其中n是用户输入密

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

作者:吴真 二、算法原理

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

作者:吴真 2.2明文加密 2.2.1 第一步前向混合 输入的128位明文分成四块D,D,D,D,选取生成的40个密钥的前四个分别与上述四块数据进行加操作 D += K; D += K; D +

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

作者:吴真 2.3 密文解密 用于密文解密的40个子密钥的生成和明文加密时的40个子密钥的生成方法相同. 2.3.1 第一步前向混合 输入的128位密文分成四块D,D,D,D,选取生成的40个密钥的

凯撒加密算法C语言实现

#include<stdio.h> #include<conio.h> char encrypt(char ch,int n)/*加密函数,把字符向右循环移位n*/ { wh

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有