• 大小: 1.65MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-03
  • 语言: 其他
  • 标签: 密码学  

资源简介

密码学完整看课程设计,内附实验报告,十分详细,希望能有所帮助。

资源截图

代码片段和文件信息

#include “stdio.h“  
#include “memory.h“  
#include “time.h“  
#include “stdlib.h“  

#define PLAIN_FILE_OPEN_ERROR -1  
#define KEY_FILE_OPEN_ERROR -2  
#define CIPHER_FILE_OPEN_ERROR -3  
#define OK 1 

typedef char ElemType;  
//字节转换成二进制
//因为加密是对每一位进行加密,故必须将每个字节拆分成二进制位  
int ByteToBit_yihuo(ElemType ch ElemType bit[8])
{  
    int cnt;  
    for(cnt = 0;cnt < 8; cnt++)
{  
        *(bit+cnt) = (ch>>cnt)&1;  
    }  
    return 0;  
}  
  
//二进制转换成字节
//加密完成之后要对每一位进行合并,重新合并成字节才能用于数据流的传输  
int BitToByte_yihuo(ElemType bit[8]ElemType *ch)
{  
    int cnt;  
    for(cnt = 0;cnt < 8; cnt++)
{  
        *ch |= *(bit + cnt)<    }  
    return 0;  
}  
  
//将长度为8的字符串转为二进制位串  
int Char8ToBit64_yihuo(ElemType ch[8]ElemType bit[64])
{  
    int cnt;  
    for(cnt = 0; cnt < 8; cnt++)
{          
        ByteToBit_yihuo(*(ch+cnt)bit+(cnt<<3));  
    }  
    return 0;  
}  
  
//将二进制位串转为长度为8的字符串  
int Bit64ToChar8_yihuo(ElemType bit[64]ElemType ch[8])
{  
    int cnt;  
    memset(ch08);  
    for(cnt = 0; cnt < 8; cnt++)
{  
        BitToByte_yihuo(bit+(cnt<<3)ch+cnt);  
    }  
    return 0;  
}  
////////////////////////////////////////////////////////////////////
//异或  
int XOR(ElemType R[64] ElemType L[64] int count)
{  
    int cnt;  
    for(cnt = 0; cnt < count; cnt++)
{  
        R[cnt] ^= L[cnt];  
    }  
    return 0;  
}
///////////////////////////////////////////////////////////

//异或加密
int YIHUO_Encrypt(char *plainFile char *keyStrchar *cipherFile)

FILE *plain*cipher*key;  
   // int count;  
   // ElemType *plainBlock;
   // ElemType *keyBlock;
    ElemType *keyBlock=new  ElemType [8];
ElemType *plainBlock=new  ElemType [8];
ElemType *cipherblock=new  ElemType [8];
//ElemType *cipherblock;
    ElemType bKey[64];  
ElemType bplain[64];  
ElemType bcipher[64]; 
    if((plain = fopen(plainFile“rb“)) == NULL){  
        return PLAIN_FILE_OPEN_ERROR;  
    }     
    if((cipher = fopen(cipherFile“wb“)) == NULL){  
        return CIPHER_FILE_OPEN_ERROR;  
    }  
if((key = fopen(keyStr“rb“)) == NULL){  
        
int i=1;
return PLAIN_FILE_OPEN_ERROR;  
    }     
//int i=1;
fseek(plain00);
while(ftell(plain)!=64)
{  
          //每次读8个字节
          fread(keyBlock81key);
  //将密钥转换为二进制流 
          Char8ToBit64_yihuo(keyBlockbKey); 
//memcpy(keyBlockkeyStr8);  
 
  //每次读8个字节
          fread(plainBlock81plain);
  //将密钥转换为二进制流 
          Char8ToBit64_yihuo(plainBlockbplain); 
 //Char8ToBit64_yihuo(cipherBlockbplain); 
XOR(bplainbKey64);

//将二进制转换为字节
Bit64ToChar8_yihuo(bplaincipherblock);

            //DES_EncryptBlock(plainBlocksubKeyscipherBlock);  
            fwrite(cipherblock81cipher);     


// printf(“%d\n“i);
    }  
   // printf(“%d\n“i);
    fclose(plain);  
    fclose(cipher); 
fclose(key);

    return OK;  

}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    2134016  2012-12-01 13:52  刘彦刚100410421\刘彦刚 100410421 密码学课程设计报告 .doc

     文件      38288  2012-11-30 10:59  刘彦刚100410421\量化系数加密\cc-DES-jiami.jpg

     文件      38288  2012-11-30 11:00  刘彦刚100410421\量化系数加密\cc-DES-jiemi.jpg

     文件      38288  2012-11-30 11:00  刘彦刚100410421\量化系数加密\cc-YIHUO-jiami.jpg

     文件      38288  2008-08-05 15:28  刘彦刚100410421\量化系数加密\cc-YIHUO-jiemi.jpg

     文件      38288  2008-08-05 15:28  刘彦刚100410421\量化系数加密\cc.jpg

     文件      21705  2012-11-29 14:55  刘彦刚100410421\量化系数加密\Debug\DES加密.obj

     文件          0  2012-11-29 14:59  刘彦刚100410421\量化系数加密\Debug\DES加密.sbr

     文件      41984  2012-12-01 13:40  刘彦刚100410421\量化系数加密\Debug\vc60.idb

     文件      53248  2012-11-30 16:18  刘彦刚100410421\量化系数加密\Debug\vc60.pdb

     文件       6994  2012-11-30 16:18  刘彦刚100410421\量化系数加密\Debug\异或加密.obj

     文件       9411  2012-11-29 16:20  刘彦刚100410421\量化系数加密\Debug\异或加密.sbr

     文件      22928  2012-12-01 13:33  刘彦刚100410421\量化系数加密\Debug\量化系数.obj

     文件          0  2012-11-29 16:18  刘彦刚100410421\量化系数加密\Debug\量化系数.sbr

     文件      91136  2012-11-29 16:18  刘彦刚100410421\量化系数加密\Debug\量化系数加密.bsc

     文件     209002  2012-12-01 13:33  刘彦刚100410421\量化系数加密\Debug\量化系数加密.exe

     文件     222392  2012-12-01 13:33  刘彦刚100410421\量化系数加密\Debug\量化系数加密.ilk

     文件     203724  2012-11-29 16:43  刘彦刚100410421\量化系数加密\Debug\量化系数加密.pch

     文件     517120  2012-11-30 16:18  刘彦刚100410421\量化系数加密\Debug\量化系数加密.pdb

     文件         48  2012-12-01 13:35  刘彦刚100410421\量化系数加密\DES-key.txt

     文件         64  2012-12-01 13:40  刘彦刚100410421\量化系数加密\DES-mingwen-jiemi.txt

     文件         64  2012-12-01 13:35  刘彦刚100410421\量化系数加密\DES-mingwen.txt

     文件         64  2012-12-01 13:35  刘彦刚100410421\量化系数加密\DES-miwen.txt

     文件      15959  2012-11-29 14:55  刘彦刚100410421\量化系数加密\DES加密.CPP

     文件      32443  2012-12-01 13:35  刘彦刚100410421\量化系数加密\HIT-DES-jiami.jpg

     文件      32443  2012-12-01 13:40  刘彦刚100410421\量化系数加密\HIT-DES-jiemi.jpg

     文件      32443  2012-11-30 11:03  刘彦刚100410421\量化系数加密\HIT-YIHUO-jiami.jpg

     文件      32443  2012-11-29 02:15  刘彦刚100410421\量化系数加密\HIT-YIHUO-jiemi.jpg

     文件      32443  2012-11-29 02:15  刘彦刚100410421\量化系数加密\HIT.jpg

     文件         64  2012-11-29 15:37  刘彦刚100410421\量化系数加密\YIHUO-key.txt

............此处省略17个文件信息

评论

共有 条评论