這里你存在一個誤區。秘鑰可以是128位,但是密文是128的倍數,不一定就是128啊
B. aes演算法是什麼
AES:Advanced Encryption Standard(高級加密標准),是美國國家標准與技術研究所用於加密電子數據的規范,該演算法匯聚了設計簡單、密鑰安裝快、需要的內存空間少、在所有的平台上運行良好、支持並行處理並且可以抵抗所有已知攻擊等優點。
AES是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192 和 256 位密鑰,並且用 128 位(16位元組)分組加密和解密數據。
AES具有應用范圍廣
等待時間短、相對容易隱藏、吞吐量高等優點,在性能等各方面都優於WEP演算法。利用此演算法加密,WLAN的安全性將會獲得大幅度提高。AES演算法已經在802.11i標准中得到最終確認,成為取代WEP的新一代的加密演算法。但是由於AES演算法對硬體要求比較高,因此AES無法通過在原有設備上升級固件實現,必須重新設計晶元。
以上內容參考:網路-AES技術
C. AES等演算法加密的秒破
對稱密碼技術的優點在於效率高,演算法簡單,系統開銷小,適合加密大量數據。對稱密鑰演算法具有加密處理簡單,加解密速度快,密鑰較短,發展歷史悠久等優點。
加密演算法要考慮到便於應用便於解密。你搞一個很復雜的演算法,最終的結果是雙方無法通訊,或者通訊延誤,肯定不可取。軍事指揮總不能一個部隊收到一個指令還要用超級計算機計算半天才解碼?
暴力破解不算什麼的。比如我說我的密碼是明天的彩票開獎號碼,沒到開獎日期計算機能破解出來嗎,他只知道35選7而已
D. aes加密演算法原理
AES是分組密鑰,演算法輸入128位數據,密鑰長度也是128位。用Nr表示對一個數據分組加密的輪數(加密輪數與密鑰長度的關系如表1所列)。每一輪都需要一個與輸入分組具有相同長度的擴展密鑰Expandedkey(i)的參與。由於外部輸入的加密密鑰K長度有限,所以在演算法中要用一個密鑰擴展程序(Keyexpansion)把外部密鑰K擴展成更長的比特串,以生成各輪的加密和解密密鑰。
1.1圈變化
AES每一個圈變換由以下三個層組成:
非線性層——進行Subbyte變換;
線行混合層——進行ShiftRow和MixColumn運算;
密鑰加層——進行AddRoundKey運算。
① Subbyte變換是作用在狀態中每個位元組上的一種非線性位元組轉換,可以通過計算出來的S盒進行映射。
② ShiftRow是一個位元組換位。它將狀態中的行按照不同的偏移量進行循環移位,而這個偏移量也是根據Nb的不同而選擇的[3]。
③ 在MixColumn變換中,把狀態中的每一列看作GF(28)上的多項式a(x)與固定多項式c(x)相乘的結果。 b(x)=c(x)*a(x)的系數這樣計算:
*運算不是普通的乘法運算,而是特殊的運算,即 b(x)=c(x)·a(x)(mod x4+1) 對於這個運算 b0=02。a0+03。a1+a2+a3 令xtime(a0)=02。a0
其中,符號「。」表示模一個八次不可約多項式的同餘乘法[3]。
對於逆變化,其矩陣C要改變成相應的D,即b(x)=d(x)*a(x)。
④ 密鑰加層運算(addround)是將圈密鑰狀態中的對應位元組按位「異或」。
⑤ 根據線性變化的性質[1],解密運算是加密變化的逆變化。
E. AES加密演算法原理
AES是分組密鑰,演算法輸入128位數據,密鑰長度也是128位。用Nr表示對一個數據分組加密的輪數(加密輪數與密鑰長度的關系如表1所列)。每一輪都需要一個與輸入分組具有相同長度的擴展密鑰Expandedkey(i)的參與。由於外部輸入的加密密鑰K長度有限,所以在演算法中要用一個密鑰擴展程序(Keyexpansion)把外部密鑰K擴展成更長的比特串,以生成各輪的加密和解密密鑰。
1.1圈變化
AES每一個圈變換由以下三個層組成:
非線性層——進行Subbyte變換;
線行混合層——進行ShiftRow和MixColumn運算;
密鑰加層——進行AddRoundKey運算。
① Subbyte變換是作用在狀態中每個位元組上的一種非線性位元組轉換,可以通過計算出來的S盒進行映射。
② ShiftRow是一個位元組換位。它將狀態中的行按照不同的偏移量進行循環移位,而這個偏移量也是根據Nb的不同而選擇的[3]。
③ 在MixColumn變換中,把狀態中的每一列看作GF(28)上的多項式a(x)與固定多項式c(x)相乘的結果。 b(x)=c(x)*a(x)的系數這樣計算:
*運算不是普通的乘法運算,而是特殊的運算,即 b(x)=c(x)·a(x)(mod x4+1) 對於這個運算 b0=02。a0+03。a1+a2+a3 令xtime(a0)=02。a0
其中,符號「。」表示模一個八次不可約多項式的同餘乘法[3]。
對於逆變化,其矩陣C要改變成相應的D,即b(x)=d(x)*a(x)。
④ 密鑰加層運算(addround)是將圈密鑰狀態中的對應位元組按位「異或」。
⑤ 根據線性變化的性質[1],解密運算是加密變化的逆變化。
F. aes的解密演算法和加密演算法有什麼不同
AES加密中的位元組代換 行移位和列混淆在解密過程中全部被逆位元組代換 逆行移位和逆列混淆所代替,逆位元組代換用逆S盒 逆行移位向右移等等 即 AES的解密運算過程是加密運算過程的逆過程。
G. 用AES演算法對整個文件加密,怎樣做
1.加密,是以某種特殊的演算法改變原有的信息數據,使得未授權的用戶即使獲得了已加密的信息,但因不知解密的方法,仍然無法了解信息的內容。例如對稱演算法亦或加密。
2.什麼是異或演算法
異或的特點是原始值經過兩次異或某一個數後會變成原來的值,所以有時利用這個特性來進行加密,加密端把數據與一個密鑰進行異或操作,生成密文。接收方收到密文後利用加密方提供的密鑰進行再次異或操作就能得到明文。
3.常式:
/*以DWORD為單位對文件進行加密,將每個DWORD與0xfcba0000(密鑰)做異或,寫入另一個文件*/
#include <stdio.h>
#include <stdlib.h>
#define DWORD unsigned long
#define BYTE unsigned char
#define false 0
#define true 1
int main(int argc, char *argv[])
{
FILE *hSource;
FILE *hDestination;
DWORD dwKey=0xfcba0000;
char* pbBuffer;
DWORD dwBufferLen=sizeof(DWORD);
DWORD dwCount;
DWORD dwData;
if(argv[1]==0||argv[2]==0)
{
printf("missing argument!\n");
return false;
}
H. aes加密演算法有多少種模式
一般的加密通常都是塊加密,如果要加密超過塊大小的數據,就需要涉及填充和鏈加密模式,文中提到的ECB和CBC等就是指鏈加密模式。這篇文檔比較形象地介紹了AES加密演算法中的一些模式轉載過來。注意,還缺一種CTR的模式。
同時在文章的最後,貼出幾對利用ECB and CBC模式得標准演算法得到的碼流串。
對稱加密和分組加密中的四種模式(ECB、CBC、CFB、OFB)
I. AES演算法加密128位明文加密後是16位元組的塊,那超過16位元組明文加密後密文塊是多大
明文密文是一比一的,超過16位元組的可分段加密
J. 無線路由器加密演算法tkip和aes有什麼區別
一、安全性能不同
TKIP本質上是一個WEP補丁,解決了攻擊者通過獲得少量的路由器流量解析出路由器密鑰的問題。TKIP還提供了一個較為完善的安全升級,但是對於保護網路不受黑客攻擊上不夠全面。
AES是一個完全獨立的加密演算法,遠遠優於任何TKIP提供的演算法,該演算法有128位,192位或256位的分組密碼。所以AES安全性能比TKIP好。
二、速度不同
TKIP是一種過時的加密方法,而且除了安全問題,它還會減緩系統運行速度,速度會減慢至54Mbps。
支持WPA2-AES加密的802.11ac理想條件下最大速度為3.46Gbps。所以AES的運行速度相較於TKIP要快。
三、密鑰長度不同
TKIP中密碼使用的密鑰長度為128位,這就解決了WEP密碼使用的密鑰長度過短的問題。
AES 是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192 和 256 位密鑰,並且用 128 位(16位元組)分組加密和解密數據。