[密码学] 高级加密标准AES
文章目錄
- AES算法
- AES-128
- 加密過程
- S-BOX
- 選取原則
- 構(gòu)造方式
- 行移位
- 列混合運(yùn)行
- 密鑰擴(kuò)展方案
- AES-128的密鑰擴(kuò)展
- 性質(zhì)
- 解密過程
- 雪崩效應(yīng)
AES算法
?①比利時(shí)密碼學(xué)家Daemen和Rijmen共同設(shè)計(jì)?
?②輸入:128比特的消息分組
??輸出:128比特的密文分組
?③密鑰長(zhǎng)度及圈數(shù)Nr
??128-bit,Nr=10;
??192-bit,Nr=12;
??256-bit,Nr=14;
AES-128
加密過程
S-BOX
?①查表運(yùn)算:對(duì)于輸入的字節(jié),前四(高四)比特看做行標(biāo),后四(低四)比特看做列標(biāo),進(jìn)行查找替換;
?②對(duì)每個(gè)字節(jié)進(jìn)行替換,唯一的非線性部件;
?③16個(gè)字節(jié)采用相同的S盒;
選取原則
構(gòu)造方式
?例如:
?輸入95;先計(jì)算它的逆,結(jié)果為8a={10001010};在經(jīng)過仿射變換得到2a;
?!!!!!!!!!!!!!注:這里的加減法均為異或運(yùn)算!!!!!!!!!!!!!!!
行移位
?①每一行按字節(jié)循環(huán)移位;
?②第一行循環(huán)左移0個(gè)字節(jié),第二行循環(huán)左移1個(gè)字節(jié),第三行2個(gè)字節(jié),第四行3個(gè)字節(jié);
?③某一列的四個(gè)字節(jié)擴(kuò)散到4列;
列混合運(yùn)行
?以列為單位,使得輸出的每一個(gè)字節(jié)和輸入的四個(gè)字節(jié)有關(guān)。
?快速實(shí)現(xiàn)乘法:
密鑰擴(kuò)展方案
?將128/192/256比特的主密鑰擴(kuò)展為44/52/60個(gè)32比特字。
AES-128的密鑰擴(kuò)展
?將128比特的密鑰,按字節(jié)分組0~15,并排序;
?其中g函數(shù)包括:①循環(huán)上移1字節(jié);②過S盒(同上述S盒);③異或常數(shù)
性質(zhì)
?①知道擴(kuò)展密鑰的連續(xù)Nk個(gè)及以上的密鑰字,能重新生成整個(gè)擴(kuò)展密鑰;但是,若少于Nk個(gè),則不能;
?②能在各種處理器上有效運(yùn)行;
?③使用輪常數(shù)排除對(duì)稱性;
?④主密鑰的每個(gè)位影響輪密鑰的某些位;
?⑤引入S盒提供非線性性;
?⑥易于描述;
解密過程
?①加解密函數(shù)不同;
?②S盒,行移位,列混合都換為逆運(yùn)算;
?③密鑰逆序;
雪崩效應(yīng)
無論改變明文或密文的1比特,密文會(huì)有一半左右的改變。
總結(jié)
以上是生活随笔為你收集整理的[密码学] 高级加密标准AES的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [密码学] 双重与三重DES
- 下一篇: [密码学] 杂凑函数