最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

密碼學(xué)之高級加密標(biāo)準(zhǔn)(AES)

2021-05-19 10:03 作者:剎那-Ksana-  | 我要投稿

前言

還是有關(guān)block cipher的文章。

上文的DES以及跟不上時代的步伐了,而代替DES的,是這篇文章的AES。

一、State

AES的所有運(yùn)算都是基于一個State的概念,State是一個二維數(shù)組,一共4行b列,數(shù)組中的每一個元素都是一個8-bit (1 byte)的二進(jìn)制序列。b的值是根據(jù)輸入序列的長度(也就是block length)l決定的:%20b%3D%5Cfrac%7Bl%7D%7B32%20bit%7D%20.如果block length為128,那么就是4行4列。

現(xiàn)在,我們用 s 代表這個二維數(shù)組,用下標(biāo) r(row)c(column) 來進(jìn)行索引。

對于任意一個輸入序列 i ,我們用如下的方式將其轉(zhuǎn)化為State數(shù)組:

s%5Br%2Cc%5D%20%3D%20i%5Br%20%2B%204c%5D%2C0%3Cr%3C4%3B0%3Cc%3Cb%20

很明顯,其逆運(yùn)算——將State二維數(shù)組還原為一維序列o的方式為:

o%5Br%20%2B%204c%5D%20%3D%20s%5Br%2Cc%5D%20

二、AES算法

AES一共可以有三種不同的master key的長度,128 bits, 192 bits和256 bits. 每一個長度對應(yīng)不同的round數(shù)——128 bits對應(yīng)10輪,192 bits對應(yīng)12輪,256 bits對應(yīng)14輪。

AES的的算法如下:

偽代碼(引用來源:FIPS 197, Advanced Encryption Standard (AES))

*Nk為master key的長度除以32,Nb為本文中的b,Nr為round數(shù)(循環(huán)次數(shù))。這里的word代表一個32-bit的二進(jìn)制序列。

其中,四個函數(shù)SubBytes、ShiftRowsMixColumnsAddRoundKey分別如下:

SubBytes是用一個可逆的S-box:?%20%5Cleft%5C%7B%200%2C1%20%5Cright%5C%7D%5E8%20%5Crightarrow%20%5Cleft%5C%7B%200%2C1%20%5Cright%5C%7D%5E8%20 將我們的State中的每一個元素替換為新的元素。我們的S-box,簡單地說是一張 16%5Ctimes%2016%20 的表格,我們將一個8-bit序列切割為2個長度為4-bit的序列,第一個4-bit序列決定,第二個4-bit序列決定

ShiftRows是將State二維數(shù)組中的后三行rotate,如圖所示

示意圖(引用來源:FIPS 197, Advanced Encryption Standard (AES))

MixColumns是對我們State中的每一列進(jìn)行一系列的運(yùn)算,同一列中的每一個元素都將參與到運(yùn)算中(故名Mix Column),詳細(xì)可參照FIPS 197的文檔,在此不進(jìn)行說明。

AddRoundKey是將我們的State與我們的round key進(jìn)行一個XOR運(yùn)算: %5Bs_%7B0%2Cc%7D'%2C%20s_%7B1%2Cc%7D'%2Cs_%7B2%2Cc%7D'%2Cs_%7B3%2Cc%7D'%5D%20%3D%20%5Bs_%7B0%2Cc%7D%2C%20s_%7B1%2Cc%7D%2Cs_%7B2%2Cc%7D%2Cs_%7B3%2Cc%7D%5D%20%5Coplus%20%5Bw_%7Bround*b%2Bc%7D%5D%20

三、Key Schedule

我們用 k 來代表我們的master key,我們用如下的方法來將我們的k擴(kuò)張成為w(這里的w就是上一節(jié)里面的w):

偽代碼(引用來源:FIPS 197, Advanced Encryption Standard (AES))

其中,SubWord是將一個32-bit的序列切分為4個8-bit的序列,每一個8-bit序列通過上述的S-Box替換為一個新的8-bit值。RotWord是將一個32-bit/4-byte的序列向左旋轉(zhuǎn)1個byte的長度。

后記

block cipher好像寫得差不多了…準(zhǔn)備近幾天再看看有沒有其他值得寫得地方。

參考資料:

NIST Computer Security Division - FIPS 197, Advanced Encryption Standard (AES)

使用工具:Drawio: https://app.diagrams.net

THE END.

密碼學(xué)之高級加密標(biāo)準(zhǔn)(AES)的評論 (共 條)

分享到微博請遵守國家法律
满城县| 石门县| 岳池县| 福贡县| 漯河市| 方城县| 太仓市| 四子王旗| 武定县| 深州市| 满洲里市| 江安县| 清河县| 东源县| 拉萨市| 广灵县| 嘉义市| 朔州市| 太谷县| 丹东市| 濮阳县| 平度市| 定南县| 莫力| 龙海市| 青阳县| 渭南市| 梅河口市| 平山县| 安义县| 黄山市| 巫山县| 赞皇县| 闽清县| 固始县| 古蔺县| 西乡县| 娱乐| 岢岚县| 昆山市| 读书|