工作流程
模式 1:加密
? 復(fù)位EN 重置AES模塊
? 設(shè)置模式寄存器mode[1:0]=00,設(shè)置流數(shù)據(jù)處理模式寄存器CHMOD[1:0]
? 寫AES_KEYRx寄存器,CTR和CBC模式下寫AES_IVRx寄存器
? 寫EN=1,使能AES
? 寫AES_DINR 寄存器4次
? 等待CCF標(biāo)志置起
? 從AES_DOUTR分4次讀出加密結(jié)果
? 對(duì)于同一個(gè)key,重復(fù)步驟5,6,7對(duì)接下來的128bit block進(jìn)行加密
模式 2:密鑰擴(kuò)展
? 復(fù)位EN 重置AES模塊
? 設(shè)置模式寄存器mode[1:0]=01,CHMOD[1:0]寄存器的值不關(guān)心。
? 寫AES_KEYRx寄存器。
? 寫EN=1,使能AES
? 等待CCF標(biāo)志置起
? 清除CCF標(biāo)志,擴(kuò)展完的key自動(dòng)寫回AES_KEYRx寄存器。如果需要的話可以讀取AES_KEYRx寄存器獲取結(jié)果。想要重新計(jì)算擴(kuò)展密鑰,重復(fù)步驟3,4,5,6。
模式 3:解密
? 復(fù)位EN 重置AES模塊
? 設(shè)置模式寄存器mode[1:0]=10,設(shè)置流數(shù)據(jù)處理模式寄存器CHMOD[1:0]
? 寫AES_KEYRx寄存器(如果已經(jīng)通過模式2計(jì)算得到了擴(kuò)展密鑰則可跳過這個(gè)步驟),CTR和CBC模式下寫AES_IVRx寄存器。
? 寫EN=1,使能AES
? 寫AES_DINR 寄存器4次
? 等待CCF標(biāo)志置起
? 從AES_DOUTR分4次讀出解密結(jié)果
? 對(duì)于同一個(gè)key,重復(fù)步驟5,6,7對(duì)接下來的128bit block進(jìn)行解密文章來源:http://www.zghlxwxcb.cn/news/detail-429810.html
9.5.4 模式 4:密鑰擴(kuò)展+解密
? 復(fù)位EN 重置AES模塊
? 設(shè)置模式寄存器mode[1:0]=11,設(shè)置流數(shù)據(jù)處理模式寄存器CHMOD[1:0]。該模式在CTR模式下被禁止使用。如果設(shè)置mode[1:0]=11,CHMOD[1:0]=10,將強(qiáng)制進(jìn)入CTR解密模式。
? 寫AES_KEYRx寄存器,CBC模式下寫AES_IVRx寄存器。
? 寫EN=1,使能AES
? 寫AES_DINR 寄存器4次
? 等待CCF標(biāo)志置起
? 從AES_DOUTR分4次讀出解密結(jié)果
? 對(duì)于同一個(gè)key,重復(fù)步驟5,6,7對(duì)接下來的128bit block進(jìn)行解密注意:該模式下AES_KEYRx寄存器內(nèi)存儲(chǔ)的一直是加密密鑰,擴(kuò)展密鑰每次都會(huì)在內(nèi)部被重新計(jì)算而不會(huì)被存儲(chǔ)到AES_KEYRx寄存器中。文章來源地址http://www.zghlxwxcb.cn/news/detail-429810.html
到了這里,關(guān)于AES工作流程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!