• 大小: 50KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: C/C++
  • 标签: 加密  算法  DES  

资源简介

采用C语言实现的DES加密算法,支持文件的加解密,其中包含源代码及可执行程序。

资源截图

代码片段和文件信息

/* Note:Your choice is C IDE */
#include “stdio.h“
#include “string.h“
#include “time.h“
#include “stdlib.h“
#include “conio.h“
#define uchar unsigned char
#define PLAIN_FILE_OPEN_ERROR -1;
#define KEY_FILE_OPEN_ERROR -2;
#define CIPHER_FILE_OPEN_ERROR -3;

/****************************************************************************
******************************明文转换声明部分*******************************/
//IP1置换表
int   IP_1[64]={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};
//IP2逆置换表
int   IP_2[64]={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};
//E扩展置换表
int   E_case[48]={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盒压缩
int   S1[4][16]={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};
 
int   S2[4][16]={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};

int   S3[4][16]={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};
 
int   S4[4][16]={ 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};

int   S5[4][16]={ 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

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件          24  2017-06-08 18:00  cipher.txt
     文件       20617  2017-06-08 17:50  DES.c
     文件      208972  2017-04-23 15:12  DES.exe
     文件           3  2017-04-23 16:23  key.txt
     文件          22  2017-06-08 17:59  plain.txt

评论

共有 条评论