91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,DES)是在美國IBM公司的研究人員Horst Feistel 和Walter Tuchman于20世紀(jì)70年代中期提出的一個(gè)密碼算法(LUCIFER算法(金星算法))的基礎(chǔ)之上發(fā)展而來的,并于1977年1月15日由美國國家標(biāo)準(zhǔn)局(NBS)正式公布實(shí)施,是第一公開的商用密碼標(biāo)準(zhǔn),并得到了ISO的認(rèn)可。

資源截圖

代碼片段和文件信息

#include?“DES.h“
#include

using?namespace?std;

DES::DES()
{
}


DES::~DES()
{
}

bitset<32>?DES::F(bitset<32>?R?bitset<48>?k)?{
//E盒擴(kuò)展
bitset<48>?expandR;??
for?(int?i?=?0;?i? expandR[47?-?i]?=?R[32?-?E[i]];??//expandR[i]?=?R[E[i]?-?1];
//異或
expandR?=?expandR?^?k;
//S盒代替
bitset<32>?output;
int?x?=?0;
for?(int?i?=?0;?i? {
int?row?=?expandR[i]?*?2?+?expandR[i?+?5];
int?col?=?expandR[i?+?1]?*?8?+?expandR[i?+?2]?*?4?+?expandR[i?+?3]?*?2?+?expandR[i?+?4];
int?num?=?S_BOX[i?/?6][row][col];
bitset<4>?temp(num);
output[x?+?3]?=?temp[0];
output[x?+?2]?=?temp[1];
output[x?+?1]?=?temp[2];
output[x]?=?temp[3];
x?+=?4;
}
//P盒置換
bitset<32>?tmp?=?output;
for?(int?i?=?0;?i? output[i]?=?tmp[P[i]?-?1];

return?output;
}
//左移函數(shù)
bitset<28>?DES::leftshift(bitset<28>?k?int?shift)?{
bitset<28>?temp?=?k;
if?(shift?==?1)
{
for?(int?i?=?0;?i? {
if?(i?-?shift? k[i?-?shift?+?28]?=?temp[i];
else
k[i]?=?temp[i?+?shift];
}
}
if?(shift?==?2)
{
for?(int?i?=?0;?i? {
if?(i?-?shift? k[i?-?shift?+?28]?=?temp[i];
else
k[i]?=?temp[i?+?shift];
}
}
return?k;
}

void?DES::generateKeys()?{
bitset<56>?real_key;
bitset<28>?left;
bitset<28>?right;
bitset<48>?compressKey;

//首先經(jīng)過選擇置換PC-1,將初始密鑰的8bit奇偶校驗(yàn)位去掉
//并重新編排
for?(int?i?=?0;?i? real_key[i]?=?key[PC_1[i]?-?1];

for?(int?round?=?0;?round? {
for?(int?i?=?0;?i? left[i]?=?real_key[i];
for?(int?i?=?28;?i? right[i?-?28]?=?real_key[i];
//左移
left?=?leftshift(left?shiftBits[round]);
right?=?leftshift(right?shiftBits[round]);
//連接,置換選擇PC-2做重排,進(jìn)行壓縮
for?(int?i=0;?i? real_key[i]?=?left[i];
for?(int?i?=?28;?i? real_key[i]?=?right[i?-?28];
for?(int?i?=?0;?i? {
int?m?=?PC_2[i];
compressKey[i]?=?real_key[m?-?1];//i=39?時(shí)就報(bào)錯(cuò)。。。。。
}????????????????????????????????????//。。。數(shù)組越界,應(yīng)-1.。。
/*compressKey[i]?=?real_key[PC_2[i]];*/?
//wrong!!!

subkey[round]?=?compressKey;
}

}


//?工具函數(shù):將char字符數(shù)組轉(zhuǎn)為二進(jìn)制
bitset<64>?DES::char_to_bit(const?char?s[8])?{
bitset<64>?bits;
int?x?=?0;
for?(int?i?=?0;?i? {
int?num?=?int(s[i]);
bitset<8>?temp(num);
for?(int?j?=?7;?j?>=?0;?j--)
{
bits[x?+?j]?=?temp[7?-?j];
}
x?+=?8;
}
/*for?(int?i?=?0;?i<8;?++i)
for?(int?j?=?0;?j<8;?++j)
bits[i?*?8?+?j]?=?((s[i]?>>?j)?&?1);
*/
return?bits;
}
//工具函數(shù):進(jìn)行二進(jìn)制逆向轉(zhuǎn)換
bitset<64>?DES::change(bitset<64>?temp)?{
bitset<64>?bits;
bitset<8>?n;
int?x;
for?(int?i?=?0;?i? {
for?(int?j?=?0;?j? {
bits[i?+?j]?=?temp[i?+?7?-?j];
}
}
return?bits;
}
/*char?*?DES::bit_to_char(const?bitset<64>?test)?{
int?count?=?0;
int?temp;
char?now[8];
for?(int?i?=?0;?i? {
temp?=?0;
for?(int?j?=?0

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

????..A..H.?????37376??2018-04-23?17:27??DES_test\.vs\DES_test\v15\.suo

?????文件????5713920??2018-04-23?17:27??DES_test\.vs\DES_test\v15\Browse.VC.db

?????文件???27721728??2018-04-23?16:37??DES_test\.vs\DES_test\v15\ipch\AutoPCH\e86faee2d28fcf7e\USER.ipch

?????文件???26607616??2018-04-20?23:08??DES_test\.vs\DES_test\v15\ipch\AutoPCH\f2f923de80fa59d\DES.ipch

????I.A....????145920??2018-04-23?17:11??DES_test\Debug\DES_test.exe

????I.A....????628732??2018-04-23?17:11??DES_test\Debug\DES_test.ilk

????I.A....???1077248??2018-04-23?17:18??DES_test\Debug\DES_test.pdb

????I.A....????150044??2018-04-10?18:17??DES_test\DES_test\Debug\DES.obj

????I.A....????????94??2018-04-23?17:11??DES_test\DES_test\Debug\DES_test.log

????I.A....??????1274??2018-04-23?17:11??DES_test\DES_test\Debug\DES_test.tlog\CL.command.1.tlog

????I.A....?????37854??2018-04-23?17:11??DES_test\DES_test\Debug\DES_test.tlog\CL.read.1.tlog

????I.A....??????1698??2018-04-23?17:11??DES_test\DES_test\Debug\DES_test.tlog\CL.write.1.tlog

????I.A....???????212??2018-04-23?17:11??DES_test\DES_test\Debug\DES_test.tlog\DES_test.lastbuildstate

????I.A....??????1288??2018-04-23?17:11??DES_test\DES_test\Debug\DES_test.tlog\link.command.1.tlog

????I.A....??????4104??2018-04-23?17:11??DES_test\DES_test\Debug\DES_test.tlog\link.read.1.tlog

????I.A....???????590??2018-04-23?17:11??DES_test\DES_test\Debug\DES_test.tlog\link.write.1.tlog

????I.A....????254890??2018-04-23?17:11??DES_test\DES_test\Debug\user.obj

????I.A....????478208??2018-04-23?17:11??DES_test\DES_test\Debug\vc141.idb

????I.A....????495616??2018-04-23?17:11??DES_test\DES_test\Debug\vc141.pdb

????I.A....??????4917??2018-04-10?18:17??DES_test\DES_test\DES.cpp

????I.A....??????4181??2018-04-10?18:15??DES_test\DES_test\DES.h

????I.A....??????6048??2018-04-08?20:20??DES_test\DES_test\DES_test.vcxproj

????I.A....??????1148??2018-04-08?20:20??DES_test\DES_test\DES_test.vcxproj.filters

????I.A....??????1617??2018-04-23?17:09??DES_test\DES_test\user.cpp

????I.A....??????1438??2018-04-08?18:45??DES_test\DES_test.sln

?????目錄??????????0??2019-05-09?10:56??DES_test\.vs\DES_test\v15\ipch\AutoPCH\e86faee2d28fcf7e

?????目錄??????????0??2019-05-09?10:56??DES_test\.vs\DES_test\v15\ipch\AutoPCH\f2f923de80fa59d

?????目錄??????????0??2019-05-09?10:56??DES_test\.vs\DES_test\v15\ipch\AutoPCH

?????目錄??????????0??2019-05-09?10:56??DES_test\.vs\DES_test\v15\ipch

?????目錄??????????0??2019-05-09?10:56??DES_test\.vs\DES_test\v15

............此處省略10個(gè)文件信息

評論

共有 條評論

相關(guān)資源