資源簡介
實驗目的:了解DES算法基本工作原理,體會并理解分組密碼算法的混淆和擴散概念。了解Sbox工作原理及效果。了解DES的工作模式和填充方式。了解差分攻擊的基本原理。

代碼片段和文件信息
#include
#include
#include
#include
#include
#include
#include“task11.h“
#include“task22.h“
#include“task33.h“
#include“task44.h“
int?main(){
????int?chooseNum?;
????char?Ptext[8];
????char?Skey[8];
????int?num;
int?q;
????printf(“?\n\n\n\n\n\n\n????????????????????????????????????????????????????\n“);
printf(“????????????????????????################################################################\n“);
printf(“????????????????????????##????????????????????????????????????????????????????????????##\n“);
printf(“????????????????????????##????????????????????????????????????????????????????????????##\n“);
printf(“????????????????????????##??????????????????????????四個任務??????????????????????????##\n“);
printf(“????????????????????????##????????????????????????????????????????????????????????????##\n“);
printf(“????????????????????????##????????????????????????????????????????????????????????????##\n“);
????printf(“????????????????????????##????????????????????????????????????????????????????????????##\n“);
printf(“????????????????????????################################################################\n\n“);
printf(“?請按任何鍵以繼續??“);
getchar();
system(“cls“);
????printf(“\n\n\n\n\n\n\n????????????????????????????????????????????請選擇任務序號:\n“);
printf(“???????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n“);
printf(“???????????????????????????????@????????????????????????????????????????????????????@\n“);
printf(“???????????????????????????????@???????**?????1=任務1???差分分析???????????????**???@\n“);
printf(“???????????????????????????????@???????**?????2=任務2???改變明文???????????????**???@\n“);
printf(“???????????????????????????????@???????**?????3=任務3???改變秘鑰???????????????**???@\n“);
????printf(“???????????????????????????????@???????**?????4=任務4???輸出密鑰集合(例4-2)??**???@\n“);
printf(“???????????????????????????????@???????**?????5=????????退出???????????????????**???@\n“);
????printf(“???????????????????????????????@????????????????????????????????????????????????????@\n“);
printf(“???????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n“);
printf(“???????????????????????????????????????????請輸入您的選擇:“);
scanf(“%d“?&chooseNum);
getchar();
???while?(chooseNum?!=?5)
{
switch?(chooseNum)
{
case?1:
?????????????printf(“請輸入6位差分:“);
?????????????char?intput[6];
//?????????????scanf(“%s“intput);
?gets(intput);
?????????????int?intputchafen[6];
?????????????for(q=0;q<6;q++){
?????????????if(intput[q]==‘0‘)
?????????????intputchafen[q]?=?0;
?????????????else?intputchafen[q]?=?1;???//防止用戶輸入了些奇奇怪怪的數字
?}????????????????????????????
?????????????printf(“\n“);
?????????????mainFuntion(intputchafen);
?????????????system(“PAUSE“);
break;
case?2:
?????????????printf(“請輸入8位字符作為明文:“);
?????????????scanf(“%s“Ptext);
?????????????printf(“\n請輸入8位字符作為
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-04-15?21:11??des實驗(內含實驗報告和源代碼和exe文件)\
?????目錄???????????0??2020-04-15?21:11??des實驗(內含實驗報告和源代碼和exe文件)\des\
?????文件????????1184??2018-11-22?17:50??des實驗(內含實驗報告和源代碼和exe文件)\des\Makefile.win
?????文件????????1529??2018-11-22?13:34??des實驗(內含實驗報告和源代碼和exe文件)\des\des.dev
?????文件??????151541??2018-11-22?17:50??des實驗(內含實驗報告和源代碼和exe文件)\des\des.exe
?????文件?????????352??2020-04-15?21:10??des實驗(內含實驗報告和源代碼和exe文件)\des\des.layout
?????文件????????4452??2020-04-15?21:09??des實驗(內含實驗報告和源代碼和exe文件)\des\des實驗報告.md
?????文件????????5492??2018-11-22?17:50??des實驗(內含實驗報告和源代碼和exe文件)\des\mianfile.cpp
?????文件???????22403??2018-11-22?17:50??des實驗(內含實驗報告和源代碼和exe文件)\des\mianfile.o
?????文件????????4360??2018-11-20?23:34??des實驗(內含實驗報告和源代碼和exe文件)\des\task11.h
?????文件???????10910??2018-11-21?12:32??des實驗(內含實驗報告和源代碼和exe文件)\des\task22.h
?????文件????????1783??2018-11-21?13:06??des實驗(內含實驗報告和源代碼和exe文件)\des\task33.h
?????文件????????5405??2018-11-22?17:48??des實驗(內含實驗報告和源代碼和exe文件)\des\task44.h
?????文件?????1712996??2018-11-22?13:20??des實驗(內含實驗報告和源代碼和exe文件)\des\task44.h.gch
評論
共有 條評論