资源简介
用C++模拟集中式密钥分配的五步,自己写的,完全按照流程图分五步,将每一步的结果保存在了文件中。开发工具为VS2010,解压后导入文件夹中的sln文件即可。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
using namespace std;
bitset<64> key; // 64位密钥
bitset<48> subKey[16]; // 存放16轮子密钥
// 初始置换表
int IP[] = {58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7};
// 结尾置换表
int IP_1[] = {40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25};
/*------------------下面是生成密钥所用表-----------------*/
// 密钥置换表,将64位密钥变成56位
int PC_1[] = {57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4};
// 压缩置换,将56位密钥压缩成48位子密钥
int PC_2[] = {14 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32};
// 每轮左移的位数
int shiftBits[] = {1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1};
/*------------------下面是密码函数 f 所用表-----------------*/
// 扩展置换表,将 32位 扩展至 48位
int E[] = {32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1};
// S盒,每个S盒是4x16的置换表,6位 -> 4位
int S_BOX[8][4][16] = {
{
{1441312151183106125907}
{0157414213110612119538}
{4114813621115129731050}
{1512824917511314100613}
}
{
{1518146113497213120510}
{3134715281412011069115}
{0147111041315812693215}
{1381013154211671205149}
}
{
{1009146315511312711428}
{1370934610285141211151}
{1364981530111212510147}
{1101306987415143115212}
}
{
{7131430691012851112415}
{1381156150347212110149}
{1069012117131513145284}
{3150610113894511127214}
}
{
{2124171011685315130149}
{1411212471315015103986}
{4211110137815912563014}
{1181271142136150910453}
}
{
{1211015926801334147511}
{10
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-26 10:18 DESLib\
目录 0 2018-01-26 10:17 DESLib\Debug\
文件 154112 2017-12-19 21:23 DESLib\Debug\DESLib.exe
文件 1060500 2017-12-19 21:23 DESLib\Debug\DESLib.ilk
文件 1543168 2017-12-19 21:23 DESLib\Debug\DESLib.pdb
目录 0 2018-01-26 10:17 DESLib\DESLib\
文件 30887936 2018-01-26 10:17 DESLib\DESLib.sdf
文件 885 2017-12-17 14:58 DESLib\DESLib.sln
文件 14848 2018-01-26 10:17 DESLib\DESLib.suo
文件 16 2017-12-19 21:23 DESLib\DESLib\cipher.txt
目录 0 2018-01-26 10:18 DESLib\DESLib\Debug\
文件 598 2017-12-19 21:23 DESLib\DESLib\Debug\cl.command.1.tlog
文件 23628 2017-12-19 21:23 DESLib\DESLib\Debug\CL.read.1.tlog
文件 258 2017-12-19 21:23 DESLib\DESLib\Debug\CL.write.1.tlog
文件 406 2017-12-17 15:02 DESLib\DESLib\Debug\DESLib.exe.em
文件 472 2017-12-17 15:02 DESLib\DESLib\Debug\DESLib.exe.em
文件 381 2017-12-19 21:23 DESLib\DESLib\Debug\DESLib.exe.intermediate.manifest
文件 48 2017-12-19 21:23 DESLib\DESLib\Debug\DESLib.lastbuildstate
文件 4790 2017-12-19 21:23 DESLib\DESLib\Debug\DESLib.log
文件 713 2017-12-17 15:39 DESLib\DESLib\Debug\DESLib.vcxprojResolveAssemblyReference.cache
文件 0 2017-12-17 15:02 DESLib\DESLib\Debug\DESLib.write.1.tlog
文件 202 2017-12-17 15:02 DESLib\DESLib\Debug\DESLib_manifest.rc
文件 2 2017-12-19 21:23 DESLib\DESLib\Debug\li
文件 2 2017-12-19 21:23 DESLib\DESLib\Debug\li
文件 2 2017-12-19 21:23 DESLib\DESLib\Debug\li
文件 2 2017-12-19 21:23 DESLib\DESLib\Debug\li
文件 2 2017-12-19 21:23 DESLib\DESLib\Debug\li
文件 2 2017-12-19 21:23 DESLib\DESLib\Debug\li
文件 2 2017-12-19 21:23 DESLib\DESLib\Debug\li
文件 2 2017-12-19 21:23 DESLib\DESLib\Debug\li
文件 2 2017-12-19 21:23 DESLib\DESLib\Debug\li
............此处省略80个文件信息
相关资源
- 作业4 RSA和大数因式分解
- 密码学差分密码解密程序实现
- c语言实现国密SM2
- 实现数字签名算法DSA,Hash算法的实现
- 密码学RSA 算法源码及大数运算的实现
- 用C语言实现的的全部的古典密码学算
- AES密码学课程设计带报告
- des差分攻击哦
- 用C语言实现SHA-1算法
- 维吉尼亚加密解密的C语言实现
- C语言实现计算乘法逆元
- 密码学快速取模指数算法C代码
- 简单的线性反馈移位寄存器LFSRC语言实
- 仿射加密现代密码学
- 软件学院密码学实验五
- 软件学院密码学实验四
- 软件学院密码学实验五sha
- 软件学院密码学实验四RSA
- 软件学院密码学实验三RC4
- 密码学MFC实现仿射加密解密超级计算
- 密码学基于RCB和CBC的RSA实现(c++)
- 密码学编程c++代码
- 凯撒密码加密
- ElGamal算法
- 置换加密代码MFC
- 有理逼近算法
- C++实现置换算法通过矩阵变换加密解
- 密码学SPN分组加解密
- 密码学实验S-DES加解密系统
评论
共有 条评论