小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

AES 加密解密

 一本正經(jīng)地胡鬧 2019-09-04

  高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)

 

 

一、DES 與 AES 比較:

1、DES 采用 56位有效密鑰,AES 采用 多種 密鑰長度

2、DES 對(duì) 64位分組數(shù)據(jù)進(jìn)行加密,AES對(duì) 128位分組數(shù)據(jù)進(jìn)行加密

3、不同于 DES ,AES 不是采用 Feistel 結(jié)構(gòu),而是置換-組合結(jié)構(gòu)

4、DES 中大量的位操作在軟件實(shí)現(xiàn)方面不是非常方便,而AES 采用了字節(jié)操作。

 

二、圖示 AES 加密過程:

 

 

對(duì)不同長度的密鑰,AES采用不同的加密輪次:

128位 192位 256位
 10 12 14

 

加密過程下面有個(gè)視頻,我覺得講得很詳細(xì)。

三、某些細(xì)節(jié):

 ①: 密鑰擴(kuò)展:簡單說就是將原來的密鑰擴(kuò)展到足夠用的長度。

                       128位密鑰: 擴(kuò)展到 44字(176字節(jié))

                       192位密鑰: 擴(kuò)展到 13*4 = 52 字

                       256位密鑰: 擴(kuò)展到 15*4 = 60 字

        擴(kuò)展過程請(qǐng)參考代碼(不貼出來)和視頻。 fun_KeyExpansion()

 

②: 輪密鑰加:只是將 數(shù)據(jù)塊和 該輪的密鑰進(jìn)行異或運(yùn)算 。

 

③:字節(jié)替換:有個(gè)S盒可以進(jìn)行替換。(相對(duì)于 DES 的替換 ,感覺這個(gè)函數(shù)的實(shí)現(xiàn)是小兒科 )

比如現(xiàn)在有一個(gè)字節(jié)為: 0x19 (16進(jìn)制!) 則替換為 0xd4

    

 

 

 

④: 行移位:分成 4 行 第一行不用移位,第二循環(huán)左移 8 位 (一個(gè)字節(jié) ?。?第三行循環(huán)移2個(gè)字節(jié),第四行移3個(gè)字節(jié)。

 

 

⑤: 列混淆:這里采用了  上的乘法 。

#define GF_01(b) ((byte)b)
#define GF_02(b) ((byte)((b < 0x80)? ((b<<1)) : (((b<<1) ^ 0x1b))))
#define GF_03(b) ((byte)(((GF_02(b)))^ (( b))))

這幾個(gè)宏定義,定義了幾個(gè)運(yùn)算 而計(jì)算過程參考下圖和 線性代數(shù)知識(shí)。


 

 

 

解密過程調(diào)用函數(shù)不同,理解了加密解密只是一個(gè)逆過程。

 

 

四、實(shí)現(xiàn)過程的一些解釋:

①:首先數(shù)據(jù)在內(nèi)存中存放方式:


 ②:行移位的時(shí)候采用按字操作,需要注意字有大小端之分:使用宏定義<Little_Endian> 進(jìn)行控制


 

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多