⑴ 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,现在绝无可能
采纳哦