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