DES算法加密解密说明文挡

DES算法加密解密说明文挡

ID:35090489

大小:103.50 KB

页数:6页

时间:2019-03-17

DES算法加密解密说明文挡_第1页
DES算法加密解密说明文挡_第2页
DES算法加密解密说明文挡_第3页
DES算法加密解密说明文挡_第4页
DES算法加密解密说明文挡_第5页
资源描述:

《DES算法加密解密说明文挡》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、DES算法加密解密说明文挡目录:一:文档介绍………………………………………………………………………………2二:封装类DES………………………………………………………………………………2(1)类的功能(2)设计思想(3)具体实现的函数说明三:应用程序DESUse………………………………………………………………………5(1)简单介绍(2)界面四:自我评价和总结……….………………………………………………………………6一:文档介绍这是一个关于DES加密算法的实现和运用的简单说明文档。包括三部分主要内容:(1)实现DES算法的封装类DES的设计思想和具体实现的说明

2、。(2)运用DES算法的应用程序的DESUse的简单介绍。(1)自我评价和总结二:封装类DES(1)类的功能实现DES算法,向外提供DES的完整加密和解密方法,单步加解密的中间key和中间结果。对外提供两个方法:Encry(intround,char*result,charflag);加解密。GenerateKey(char*result,intround);产生中间key。(2)设计思想因为程序用的是C++来实现,C++中没有bit的单位,所以决定用char的最后一位来表示bit。程序中所有操作都是对char的最后一位进行处理。例如,在ASC

3、

4、中a表示

5、为01100001占了1byte的空间,首先将这个01串分解出来,用0000000000000001000000010000000000000000000000000000000000000001表示,占8个byte的空间;又因为是将这些串存在char类型的数组中,为了不出现乱码,分别将其加上48(0的ASC

6、

7、数值)再进行保存.把算法中的所有固定的表格设为private数据,在生成对象的同时对表格进行初始化。根据封装的思想,基本上是算法中的每一个关键步骤单独一个函数来实现。之后根据算法的步骤依次调用各个函数。设计辅助函数Permutation(char*

8、initial,int*perm,intlength,char*result)用来实现数据的交换,ibitial表示将要对其进行操作的数组(即算法中的输入),perm为进行操作所用到的表,里面保存了int类型的数字,这些表在初始化时就已经赋值。Length即操作的长度,Resultchar类型的数组保存输出的结果.调整循环的次数,就可以得到中间的key和中间结果。图1:算法的设计图(3)具体实现的函数说明voidPermutation(char*initial,int*perm,intlength,char*result)功能:考虑到算法中很多交换,设计此

9、辅助函数,用来进行数据的交换实现:for(inti=0;i

10、idDESInitialPermutation();功能:将64位的plaintext,分解成两个32位,初始化左右数据leftData,rightData。voidInitialTables();功能:给所有的表赋值。voidExpansionPermulation(charrightData[],char*result);功能:实现F的第一步,调用辅助函数,根据ETable和32位的输入rightData,得到48位的输出result,供下一步使用。voidXOR(chara[],charb[],inttime,char*xorResult);功能:将

11、两个输入数组a,b进行异或操作,结果保存到xorResult中。实现:((a[i]&1)^(b[i]&1))+48先与1相&,取出最后一位,再异或。加上48是因为ASC

12、

13、中48表示数字0,此处是为了将数字0,1表示为char。voidSubstitution(charrightData[],char*result);功能:将48位的输入转成32位的输出。实现:将48位的输入rightData每6位做一组,其中1,6位组合成row,2,3,4,5组合成colum调用函数SearchSBox去查询S-Box,返回S-Box中相应的十进制数。再调用Decima

14、lToChar函数将十进制数变成相应的4位表示的二进制数。intS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。