導航:首頁 > 文檔加密 > aes鹽值加密可以修改嗎

aes鹽值加密可以修改嗎

發布時間:2022-06-05 13:53:47

⑴ AES 加密可以破解么 怎麼破解

上面是暴利破解,你也查看下AES加密原理給你提供一段C的AES////////////////////////////////////////////////////////////////////#include <stdio.h>
#include <windows.h>
#include "md5c.c"
#include "resource.h"
#include "miracl.h"
#include "mirdef.h"#pragma comment( lib, "ms32.lib")
/*-------------------------------------------------------------*/
/* 定義子程序與全局變數、常量 */
/*-------------------------------------------------------------*/
HINSTANCE hInst;
TCHAR szConstName[]="pediy";
#define MAXINPUTLEN 200/*-------------------------------------------------------------*/
/* 函數聲明 */
/*-------------------------------------------------------------*/
BOOL CALLBACK MainDlg (HWND, UINT, WPARAM, LPARAM) ;
BOOL CALLBACK AboutDlgProc (HWND, UINT, WPARAM, LPARAM) ;
BOOL GenerateSerial( HWND) ;/*-------------------------------------------------------------*/
/* WinMain - 基於WIN32的程序的入口 */
/*-------------------------------------------------------------*/int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
hInst=hInstance;
DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_MAINDLG), NULL, (DLGPROC)MainDlg,0);
return 0;
}/*-------------------------------------------------------------*/
/* AboutDlgProc - 關於窗口 */
/*-------------------------------------------------------------*/BOOL CALLBACK AboutDlgProc (HWND hDlg, UINT message,
WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_LBUTTONDOWN:
PostMessage(hDlg, WM_NCLBUTTONDOWN, HTCAPTION, 0);
return TRUE ;

case WM_COMMAND :
switch (LOWORD (wParam))
{
case IDOK :
case IDCANCEL :
EndDialog (hDlg, 0) ;
return TRUE ;
}
break ;
}
return FALSE ;
}
/*-------------------------------------------------------------*/
/* MainDlg - 主對話窗口 */
/*-------------------------------------------------------------*/
BOOL CALLBACK MainDlg(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{ switch (message)
{
case WM_CLOSE:
EndDialog(hDlg,0);
break;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDC_Name:
GenerateSerial(hDlg);
break; case IDC_About :
DialogBox (hInst, MAKEINTRESOURCE (IDD_ABOUT), hDlg, AboutDlgProc) ;
break; case IDC_Exit:
PostQuitMessage(0);
}
break;
case WM_INITDIALOG:
SendMessage(hDlg,WM_SETICON,(WPARAM) 1,(LPARAM) LoadIconA(hInst,MAKEINTRESOURCE(IDI_ICON)));
SendDlgItemMessage(hDlg,IDC_Name,WM_SETTEXT,0,(LPARAM)szConstName);
break;
}
return 0;
}BOOL GenerateSerial(HWND hWnd)
{
MD5_CTX context;
aes aes_test;
long dtLength;
int i;
TCHAR szName[MAXINPUTLEN]={0};
TCHAR szHash[MAXINPUTLEN]={0};
BYTE szKey[16]={0x2b,0x7e,0x15,0x16,0x28,0xae,0xd2,0xa6,0xab,0xf7,0x15,0x88,0x09,0xcf,0x4f,0x3c};
TCHAR szSerial[33]={0};

dtLength=GetDlgItemText(hWnd, IDC_Name, szName, sizeof(szName)/sizeof(TCHAR)+1);
if (dtLength==0)
{
SetDlgItemText(hWnd, IDC_Serial, "please input name");
return FALSE;
}

MD5Init(&context);
MD5Update(&context, szName, dtLength);
MD5Final(szHash, &context);

aes_init(&aes_test,MR_ECB,16,szKey,NULL);
aes_decrypt(&aes_test,szHash);

for (i=0;i<16;i++)
{
sprintf((szSerial+i*2),"%02X",(BYTE)szHash[i]);
}
SetDlgItemText(hWnd, IDC_Serial,szSerial); return TRUE;
}
如果你無法分析出來,可以把關鍵地方爆破

⑵ AES加密的能破解嗎

明確的告訴你 不能
aes代表了最新的加密技術 完全破解需要幾年
樓上你破解過?

⑶ 如何修改加密文件

修改加密文件:
1、在工具里取消保護,
2、右擊文件名——打開方式——選擇記事本或者寫字板打開,就可以。
解密文件或文件夾
步驟一:打開Windows資源管理器。
步驟二:右鍵單擊加密文件或文件夾,然後單擊「屬性」。
步驟三:在「常規」選項卡上,單擊「高級」。
步驟四:清除「加密內容以便保護數據」復選框。
同樣,我們在使用解密過程中要注意以下問題:
1.請單擊「開始→程序→附件」,打開「Windows資源管理器」。
2.在對文件夾解密時,系統將詢問是否要同時將文件夾內的所有文件和子文件夾解密。如果選擇僅解密文件夾,則在要解密文件夾中的加密文件和子文件夾仍保持加密。但是,在已解密文件夾內創立的新文件和文件夾將不會被自動加密。
文件加密是一種根據要求在操作系統層自動地對寫入存儲介質的數據進行加密的技術。
文件加密按加密途徑可分為兩類:一類是WINDOWS系統自帶的文件加密功能,一類是採用加密演算法實現的商業化加密軟體.WINDOWS系統加密方法有五種,商業化的加密軟體又分為驅動級加密和插件級加密;如果按加密演算法又可分為三類:對稱IDEA演算法、非對稱RSA演算法、不可逆AES演算法.

⑷ 目前無線路由AES加密方式能不能破解

AES(Advanced Encryption Standard,先進加密標准)演算法是美國聯邦標准局於1997年開始向全世界徵集的加密標准,屬於對稱加密演算法,代表了當今最先進的編碼技術。最終獲勝的是RijnDael演算法,其它符合標準的候選演算法還有CAST256,MARS,RC6,Serpent,Twofish等。 完善的加密演算法在理論上是無法破解的,除非使用窮盡法。使用窮盡法破解密鑰長度在128位以上的加密數據是不現實的,僅存在理論上的可能性。統計顯示,即使使用目前世界上運算速度最快的計算機,窮盡128位密鑰也要花上幾十億年的時間,更不用說去破解採用256位密鑰長度的AES演算法了

⑸ AES加密演算法怎樣進行改進

AES演算法基於排列和置換運算。排列是對數據重新進行安排,置換是將一個數據單元替換為另一個。AES使用幾種不同的方法來執行排列和置換運算。AES是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192和256位密鑰,並且用128位(16位元組)分組加密和解密數據。與公共密鑰加密使用密鑰對不同,對稱密鑰密碼使用相同的密鑰加密和解密數據。通過分組密碼返回的加密數據的位數與輸入數據相同。迭代加密使用一個循環結構,在該循環中重復置換和替換輸入數據。密碼學簡介據記載,公元前400年,古希臘人發明了置換密碼。1881年世界上的第一個電話保密專利出現。在第二次世界大戰期間,德國軍方啟用「恩尼格瑪」密碼機,密碼學在戰爭中起著非常重要的作用。
AES加密演算法主要步驟
1.1 AES演算法整體描述
l 給定一個明文x,將State初始化為x,並進行AddRoundKey操作,將RoundKey與State異或。
l 對前Nr-1輪中的每一輪,用S盒對進行一次代換操作,稱為SubBytes;對State做一置換ShiftRows;再對State做一次操作MixColumns;然後進行AddRoundKey操作。
l 依次進行SubBytes、ShiftRows和AddRoundKey操作。
l 將State定義為密文y。
1.2 偽代碼
Cipher(byte in[4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)])
begin
byte state[4,Nb]
state = in
AddRoundKey(state, w[0, Nb-1])
for round = 1 step 1 to Nr-1
SubBytes(state)
ShiftRows(state)
MixColumns(state)
AddRoundKey(state, w[round*Nb, (round+1)*Nb-1])
end for
SubBytes(state)
ShiftRows(state)
AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1])
out = state
end
2 KeyExpansion()實現
2.1要求
將128 bit的密鑰擴展至加密過程中的9輪循環,再上初始及最後2輪,需構造11輪密鑰。每一輪密鑰由4個字組成。每個字由4個byte組成。
2.2 演算法設計
輸入:byte[] key, byte[] w //key為密鑰 w為擴展的密鑰
輸出:byte[] w //擴展密鑰 長度為4 * 4 * 11
處理:
1)建立一個4 byte的一維數組,存放一個字。Byte[] temp;
2)將密鑰key[0..15]送至w[0..15];//已賦值4個字給w。
3) for I = 4 to 43
//以下每次處理一個字(32 bit)
temp = w[I-1];
if (I = 0 mod 4) //處理一個字 then
for j = 1 to 4 //字的4 byte處理
在此循環中取temp數組下標的次序為1,2,3,0 //RotWord 操作
如果是字的首byte,取Rcon常數Rcon(I/4);
temp[j] = Sbox(temp[ (j + 1) /4]^Rcon常數
end for
temp = SubWord(RotWord(temp))⊕Rcon[i/4]
end if
w[I] = w[I-4]⊕temp;
end for
4) 輸出w
3多項式乘法mod GF(28)運算
3.1要求
將兩個byte在有限域GF(28)按多項式乘法,並mod 不可約多項式m(x)=x8+x4+x3+x+1。
3.2 演算法設計
輸入:byte a ,byte b
輸出:byte r
數學基礎:
GF(28)有限域性質:兩個元素的加法與兩個位元組按位模2加是一致的;乘法滿足結合律;
考慮多項式中的一項aixi(i∈0-7),用一次x乘以多項式:
b(x) = b7x7 + b6x6 + b5x5 + b4x4 + b3x3 + b2x2 + b1x + b0,
得到
b7x8 + b6x7 + b5x6 + b4x5 + b3x4 + b2x3 + b1x2 + b0x (式1)
將結果模m(x)求余得到x*b(x)。
如果b7 = 0,則式1就是x*b(x)。
如果b7 不等於0,則必須從式1中減去m(x)後結果為x*b(x)。用x乘一個多項式簡稱x乘。
由此得出,aixi 乘以b(x),可以作i次x乘。x(十六進製表示為0x02)乘可以用位元組內左移一位和緊接著的一個與0x1b的按位模2加來實現,該運算暫記為xtime()。X的更高次的乘法可以通過重復應用xtime()來實現。通過將中間結果相加,任意乘法都可以利用xtime()來實現。例如:
57 * 13 = fe ,這是因為:
57 * 02 = xtime(57) = ae
57 * 04 = xtime(ae) = 47
57 * 08 = xtime(47) = 8e
57 * 10 = xtime(8e) = 07
所以
57 * 13 = 57 * ( 01⊕ 02 ⊕10 )
= 57⊕ ae⊕ 07
= fe

4 Sbox生成
4.1要求
一個位元組byte看作為一個在有限域GF(28)的多項式,求出它關於模m(x)的乘法逆,之後將該乘法逆在GF(2)上作仿射變換。
4.2 演算法設計
輸入:byte a
輸出:byte[] S
數學邏輯:
由有限域GF(28)性質。某個生成元(也是本原元)a,其a^(28-1) ≡ 1 mod m(x)。或a255 ≡ 1 mod m(x)。另外,a的從1到28-1的冪的值是構成了有限域GF(28)。
由乘法逆的性質b * b -1 ≡ 1。求乘法逆可簡化如下
設 x = am ,設y是x的乘法逆,則y = a255-m
處理:
建立三個一組數組,分別為:byte S[255],byte L[255],byte E[255]。
取本原元為a = 0x03,
將a的0,1,2…255次方mod m(x)分另送至數組L中。a的運算參考前面的多項式乘法運算。如下偽碼:
For i = 0 to 255
L[i] = ai (式2)
End for
為方便計算乘法逆的指數,數組E存放ai的冪指數i。將式2中ai值為數組E的下標,而將ai在數組L中的下標i作為數組E中對應的值。對應(式2)每一項有E[ai] = i。
由上面兩個數組L,E,可得到GF(28)域中的任一byte的乘法逆。
設位元組c它由ai生成的。其中a是GF(28)域中的生成元。欲求c的乘法逆。只需要找到a255-i即可。在數組E中可以由c查出生成元a的冪指數i。c-1的冪指數255-i。所以c-1 = L[255-i]。
對每一個位元組byte根據以上內容得到乘法逆,作仿射變換得到數組S。即為Sbox

⑹ 如何破解aes加密

用BT3破解時可以 但破解出來的機率很小 你可以試一下 進入BT3命令輸入airomp-ng -w 123 wlano 下面的操作基本上和破解WEP一樣啦 不懂可以問我

⑺ 請教AES加密如何設置

把密碼設計多幾個數和字母,20位以上吧!

⑻ aes加密文件有沒有被破解的可能如題 謝謝了

想破解aes,現在絕無可能
採納哦

閱讀全文

與aes鹽值加密可以修改嗎相關的資料

熱點內容
渦旋式壓縮機無油 瀏覽:727
企業網搭建及應用pdf 瀏覽:742
symanteclinux 瀏覽:876
程序員朋友化妝改造 瀏覽:491
應用被加密但不知道密碼 瀏覽:586
百度雲黑馬android 瀏覽:773
java格式化long 瀏覽:893
汽車如何加密文檔 瀏覽:625
公司理財第9版pdf 瀏覽:524
微信個人表情在文件夾 瀏覽:833
加密狗密碼監控 瀏覽:437
重載發生在編譯時 瀏覽:417
怎麼用app買東西 瀏覽:532
ug後處理多坐標宏命令 瀏覽:34
性教育pdf 瀏覽:863
解釋方式編譯方式名詞解釋 瀏覽:851
wrf編譯出現module 瀏覽:616
插入演算法最基礎代碼 瀏覽:27
powermill和ug編程 瀏覽:843
vf命令按鈕 瀏覽:283