没有合适的资源?快使用搜索试试~ 我知道了~
首页DES加密算法的C语言实现.pdf
DES加密算法的C语言实现.pdf
需积分: 11 122 浏览量
更新于2023-03-16
评论 2
收藏 74KB PDF 举报
DES加密算法的C语言实现,有详细的描述和算法解析,适合初次接触加密算法的菜鸟,简单明了
资源详情
资源评论
资源推荐

#include <stdio.h>
#include<memory.h>
#include<string.h>
#include <time.h>
#define Decode 0
#define Encode 1
bool Sub_Key[16][48];
//明文初始置换
unsigned char Initial [] =
{
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
};
//最终置换
unsigned char Final[] =
{
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
};
//S-盒置换
unsigned char S_Box[8][64] =
{
/* S1 */
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

{ 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9,
0, 7, 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9,
5, 3, 8,4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7,
3, 10, 5, 0, 15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3,
14, 10, 0, 6, 13},
/* S2 */
{ 15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0,
5, 10,3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9,
11, 5, 0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9,
3, 2, 15, 13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12,
0, 5, 14, 9},
/* S3 */
{10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4,
2, 8,13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12,
11, 15, 1,13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12,
5, 10, 14, 7,1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3,
11, 5, 2, 12},
/* S4 */
{ 7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4,
15,13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10,
14, 9, 10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5,
2, 8, 4,3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11,
12, 7, 2, 14},
/* S5 */
{2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14,
9,14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9,
8, 6,4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6,
3, 0, 14,11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9,
10, 4, 5, 3},
/* S6 */
{12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7,
5, 11, 10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0,
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

11, 3, 8, 9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4,
10, 1, 13, 11, 6,4, 3, 2, 12, 9, 5, 15, 10, 11, 14,
1, 7, 6, 0, 8, 13},
/* S7 */
{4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6,
1, 13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15,
8, 6,1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5,
9, 2, 6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14,
2, 3, 12},
/* S8 */
{13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0,
12, 7,1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0,
14, 9, 2, 7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13,
15, 3, 5, 8, 2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9,
0, 3, 5, 6, 11}
};
unsigned char Key_Exchange[56] =
{
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
};
//压缩变换
unsigned char Compression[] =
{
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
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
剩余10页未读,继续阅读
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0