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

  • 大小: 12.71MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2023-08-06
  • 語言: C/C++
  • 標簽:

資源簡介

該資源中包含以下內容: AES加解密可執行程序 基于C++AES加解密程序源代碼 完整的實驗報告

資源截圖

代碼片段和文件信息

#include?“stdAfx.h“????//注意在此?#include?“Aes.h“不可以放在前面,否則出錯,
#include?“Aes.h“
Aes::~Aes()
{

}
Aes::Aes()
{

}
////////////////////////////////////////////////////////////////////////////////////////////////
//構造函數
Aes::Aes(int?keysizeunsigned?char*?keyBytes)
{
SetNbNkNr(keysize);?????????????????????????//設置密鑰塊數,輪數?
memcpy(keykeyByteskeysize); //字符串拷貝函數,把keyBytes的keysize個字符復制到key中
KeyExpansion(); //密鑰擴展,必須提前做的初始化
}
////////////////////////////////////////////////////////////////////////////////////////////////
void?Aes::SetNbNkNr(int?keySize)
{
Nb=4;
if(keySize=Bits128)
{
Nk=4;????//4*4字節,128位密鑰,10輪加密
Nr=10;
}
else?if(keySize=Bits192)
{
Nk=6;????//6*4字節,192位密鑰,12輪加密
Nr=12;
}
else?if(keySize=Bits256)
{
Nk=8;????//8*4字節,256位密鑰,14輪加密
Nr=14;
}
return;
}
////////////////////////////////////////////////////////////////////////////////////////////////
void?Aes::KeyExpansion()
{

memset(w016*15);
for(int?row=0;row {
w[4*row+0]?=??key[4*row];
w[4*row+1]?=??key[4*row+1];
w[4*row+2]?=??key[4*row+2];
w[4*row+3]?=??key[4*row+3];
}
byte*?temp?=?new?byte[4];
for(int?row=Nk;row<4*(Nr+1);row++)
{
temp[0]=w[4*row-4];?????//當前列的前一列??
temp[1]=w[4*row-3];
temp[2]=w[4*row-2];
temp[3]=w[4*row-1];
if(row%Nk==0)???????????//逢nk時,對當前列的前一列作特殊處理
{
temp=SubWord(RotWord(temp));???//先移位,再代換,最后和輪常量異或
temp[0]?=?(byte)(?(int)temp[0]?^?(int)?AesRcon[4*(row/Nk)+0]?);???
temp[1]?=?(byte)(?(int)temp[1]?^?(int)?AesRcon[4*(row/Nk)+1]?);
temp[2]?=?(byte)(?(int)temp[2]?^?(int)?AesRcon[4*(row/Nk)+2]?);
temp[3]?=?(byte)(?(int)temp[3]?^?(int)?AesRcon[4*(row/Nk)+3]?);
????????}
else?if?(?Nk?>?6?&&?(row?%?Nk?==?4)?)??//這個還沒有搞清楚
????????{
temp?=?SubWord(temp);
????????}
????????
????????//?w[row]?=?w[row-Nk]?xor?temp
????????w[4*row+0]?=?(byte)?(?(int)?w[4*(row-Nk)+0]?^?(int)temp[0]?);
w[4*row+1]?=?(byte)?(?(int)?w[4*(row-Nk)+1]?^?(int)temp[1]?);
w[4*row+2]?=?(byte)?(?(int)?w[4*(row-Nk)+2]?^?(int)temp[2]?);
w[4*row+3]?=?(byte)?(?(int)?w[4*(row-Nk)+3]?^?(int)temp[3]?);
}??//?for?loop
return;
}
////////////////////////////////////////////////////////////////////////////////////////////////
//密鑰移位函數
unsigned?char*?Aes::RotWord(unsigned?char*?word)
{
byte*?temp?=?new?byte[4];
temp[0]?=?word[1];
temp[1]?=?word[2];
temp[2]?=?word[3];
temp[3]?=?word[0];
return?temp;
}
////////////////////////////////////////////////////////////////////////////////////////////////
//密鑰字代換函數
unsigned?char*?Aes::SubWord(unsigned?char*?word)
{
byte*?temp?=?new?byte[4];
for(int?j=0;j<4;j++)
{
temp[j]?=?AesSbox[16*(word[j]?>>?4)+(word[j]?&?0x0f)];??//實際上也可以寫成AesSbox[[j]];因為兩者相等
}
return?temp;

}
////////////////////////////////////////////////////////////////////////////////////////////////
//Aes加密函數
void?Aes::Cipher(unsigned?char*?input?unsigned?char*?output)
{
memset(&State[0][0

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-01-15?19:18??M201476005熊維\
?????目錄???????????0??2015-01-15?19:18??M201476005熊維\可執行程序\
?????文件???????29696??2015-01-15?16:35??M201476005熊維\可執行程序\AesCode.exe
?????文件?????4421080??2013-04-11?13:07??M201476005熊維\可執行程序\mfc110.dll
?????目錄???????????0??2015-01-15?19:18??M201476005熊維\源代碼\
?????目錄???????????0??2015-01-15?19:18??M201476005熊維\源代碼\AesCode\
?????文件???????10121??2015-01-14?21:46??M201476005熊維\源代碼\AesCode\Aes.cpp
?????文件????????5706??2015-01-14?21:43??M201476005熊維\源代碼\AesCode\Aes.h
?????文件???????44920??2015-01-15?16:35??M201476005熊維\源代碼\AesCode\AesCode.aps
?????文件????????1644??2015-01-14?21:34??M201476005熊維\源代碼\AesCode\AesCode.clw
?????文件????????1906??2007-05-24?11:44??M201476005熊維\源代碼\AesCode\AesCode.cpp
?????文件????????4295??2007-05-23?14:52??M201476005熊維\源代碼\AesCode\AesCode.dsp
?????文件?????????539??2007-05-23?14:25??M201476005熊維\源代碼\AesCode\AesCode.dsw
?????文件????????1335??2007-05-23?14:25??M201476005熊維\源代碼\AesCode\AesCode.h
?????文件??????123904??2015-01-14?21:34??M201476005熊維\源代碼\AesCode\AesCode.ncb
?????文件???????51712??2015-01-14?21:34??M201476005熊維\源代碼\AesCode\AesCode.opt
?????文件????????1268??2015-01-14?21:34??M201476005熊維\源代碼\AesCode\AesCode.plg
?????文件????????6007??2015-01-15?16:35??M201476005熊維\源代碼\AesCode\AesCode.rc
?????文件?????????880??2015-01-15?15:01??M201476005熊維\源代碼\AesCode\AesCode.sln
?????文件???????11776??2015-01-14?21:46??M201476005熊維\源代碼\AesCode\AesCode.suo
?????文件???????26112??2015-01-15?16:36??M201476005熊維\源代碼\AesCode\AesCode.v11.suo
?????文件????????8102??2015-01-15?16:15??M201476005熊維\源代碼\AesCode\AesCode.vcxproj
?????文件????????2133??2015-01-15?15:00??M201476005熊維\源代碼\AesCode\AesCode.vcxproj.filters
?????文件?????????143??2015-01-14?21:31??M201476005熊維\源代碼\AesCode\AesCode.vcxproj.user
?????文件????????9491??2015-01-15?16:16??M201476005熊維\源代碼\AesCode\AesCodeDlg.cpp
?????文件????????1505??2015-01-15?16:16??M201476005熊維\源代碼\AesCode\AesCodeDlg.h
?????目錄???????????0??2015-01-15?19:18??M201476005熊維\源代碼\AesCode\Debug\
?????文件???????21557??2015-01-15?16:16??M201476005熊維\源代碼\AesCode\Debug\Aes.obj
?????文件????????1752??2015-01-15?16:15??M201476005熊維\源代碼\AesCode\Debug\AesCode.Build.CppClean.log
?????文件???????90624??2015-01-15?16:36??M201476005熊維\源代碼\AesCode\Debug\AesCode.exe
?????文件??????928972??2015-01-15?16:36??M201476005熊維\源代碼\AesCode\Debug\AesCode.ilk
............此處省略38個文件信息

評論

共有 條評論

相關資源