www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 電源 > 功率器件
[導(dǎo)讀]本文說明ADF7023和ADF7023-J收發(fā)器可用的高級加密標(biāo)準(zhǔn)(AES)固件模塊(在下文中,提到ADF7023的內(nèi)容也適用于ADF7023-J)。 可下載的AES固件模塊支持密鑰大小為128位、192位和256位的128位塊加密和解密。 它支持兩種模式:電碼本(ECB)模式和密碼塊鏈接(CBC)模式1。

簡介

本文說明ADF7023和ADF7023-J收發(fā)器可用的高級加密標(biāo)準(zhǔn)(AES)固件模塊(在下文中,提到ADF7023的內(nèi)容也適用于ADF7023-J)。 可下載的AES固件模塊支持密鑰大小為128位、192位和256位的128位塊加密和解密。 它支持兩種模式:電碼本(ECB)模式和密碼塊鏈接(CBC)模式1。

圖1. ECB模式

ECB模式利用一個(gè)密鑰逐塊地加密和解密128位數(shù)據(jù),如圖1所示。 CBC模式1則是先做一次加法運(yùn)算(通過模2算法,用戶提供的128位初始化向量)再加密, 所得的密文用作下一個(gè)塊的初始化向量,依此類推,如圖2所示。

解密過程正好相反。 固件利用片內(nèi)硬件加速模塊來增大吞吐量,并將AES處理的延遲時(shí)間降至最短。

該固件模塊名為rom_ram_7023_2_2_RS_AES.dat,包含里德-所羅門(RS)前向糾錯(cuò)和AES加密,可從www.analog.com/firmwaremodules-adf7023下載。

圖2. CBC模式1

命令和數(shù)據(jù)包隨機(jī)存取存儲(chǔ)器寄存器位置

表1. 需在AES加密或解密之前進(jìn)行初始化的寄存器位置

1 這些寄存器定義針對該固件模塊,不適用于ADF7023的正常操作。

AES配置變量、密鑰和數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)包隨機(jī)存取存儲(chǔ)器(RAM)中。

表2中列出了執(zhí)行AES加密、生成逆密鑰或執(zhí)行AES解密所需的命令。 有關(guān)AES加密和解密步驟的更多信息,參見“AES步驟”部分。

由于使用指針、不同密鑰大小和兩種不同模式,ADF7023上的AES實(shí)現(xiàn)是高度可配置的。 圖3顯示了一個(gè)配置示例。

表2. AES命令

圖3. AES操作的數(shù)據(jù)包RAM存儲(chǔ)器分配示例

AES步驟

向ADF7023寫入AES固件模塊

使用AES固件模塊之前,用戶必須將其寫入ADF7023的程序RAM中。 下列步驟詳細(xì)解釋了如何向程序RAM寫入AES固件模塊:

1. 確保ADF7023處于PHY_OFF狀態(tài)。

2. 發(fā)出CMD_RAM_LOAD_INIT命令(地址0xBF)。

3. 使用串行外設(shè)接口(SPI)存儲(chǔ)器塊寫入命令(0x1E00[固件模塊])向程序RAM寫入模塊;有關(guān)塊寫入的更多信息,請參見ADF7023數(shù)據(jù)手冊。

4. 發(fā)出CMD_RAM_LOAD_DONE命令(地址0xC7)。

固件模塊現(xiàn)已存儲(chǔ)到程序RAM中。

AES加密步驟

下列步驟詳細(xì)說明了如何執(zhí)行AES加密:

1. 將AES工作空間的起始地址寫入VAR_W_PTR。

2. 寫入VAR_KEYSIZE以設(shè)置密鑰大小。

3. 寫入VAR_AES_MODE以選擇ECB模式或CBC模式1。

4. 若使用CBC模式1(若使用ECB模式則跳過此步),

a. 將加密初始化向量的起始地址寫入VAR_ECV_PTR。

b. 將初始化向量寫入VAR_ECV_PTR指定的位置。

5. 將密鑰的地址寫入VAR_WFOR_PTR。

6. 將密鑰寫入VAR_WFOR_PTR指定的位置。

7. 將要加密的16字節(jié)塊數(shù)寫入VAR_NUM_BLOCKS。

8. 將要加密的數(shù)據(jù)地址寫入VAR_C_PTR。

9. 將要加密的數(shù)據(jù)寫入VAR_C_PTR指定的位置。

10. 發(fā)出CMD_AES_ENCRYPT (0xD0)。 用加密后的數(shù)據(jù)覆蓋要加密的數(shù)據(jù)。

11. 等待命令完成。

AES加密示例

在下面的AES加密示例中,將SPI命令寫入ADF7023:

1. 寫入0x18112A。 VAR_W_PTR設(shè)置為0x2A。 算法的32字節(jié)工作空間從地址0x02A開始。

2. 寫入0x18140C。 通過VAR_KEYSIZE選擇128位的密鑰。

3. 寫入0x181600。 通過VAR_AES_MODE選擇ECB模式。

4. 不使用CBC模式1,因此跳過第4步。

5. 寫入0x18136A。 VAR_WFOR_PTR設(shè)置為0x6A。 密鑰從地址0x06A開始。

6. 將密鑰寫入從地址0x06A開始的數(shù)據(jù)包RAM。

7. 寫入0x180101。 VAR_NUM_BLOCKS設(shè)置為0x01。 加密一個(gè)16字節(jié)塊。

8. 寫入0x18108A。 VAR_C_PTR設(shè)置為0x8A。 要加密的數(shù)據(jù)從地址0x08A開始。

9. 將要加密的數(shù)據(jù)寫入從地址0x08A開始的數(shù)據(jù)包RAM。

10. 寫入0xD0。 發(fā)出CMD_AES_ENCRYPT。

11. 等待命令完成。

AES解密步驟

下列步驟詳細(xì)說明了如何執(zhí)行AES解密:

1. 將AES工作空間的起始地址寫入VAR_W_PTR。

2. 寫入VAR_KEYSIZE以設(shè)置密鑰大小。

3. 寫入VAR_AES_MODE以選擇ECB模式或CBC模式1。

4. 將密鑰的地址寫入VAR_WFOR_PTR。

5. 將密鑰寫入VAR_WFOR_PTR指定的位置。

6. 將逆密鑰的地址寫入VAR_WINV_PTR。

7. 若使用CBC模式1(若使用ECB模式則跳過此步),

a. 將解密初始化向量的地址寫入VAR_DCV_PTR。

b. 將初始化向量寫入VAR_DCV_PTR指定的位置。

c. 將解密需要的保留存儲(chǔ)地址寫入VAR_CIPHERBUF_PTR。

8. 發(fā)出CMD_AES_DECRYPT_INIT (0xD1)。 此命令生成并保存逆密鑰。

9. 等待命令完成。

10. 將要解密的16字節(jié)塊數(shù)寫入VAR_NUM_BLOCKS。

11. 將要解密的數(shù)據(jù)地址寫入VAR_C_PTR。

12. 將要解密的數(shù)據(jù)寫入VAR_C_PTR指定的位置。

13. 發(fā)出CMD_AES_DECRYPT (0xD2)。 用解密后的數(shù)據(jù)覆蓋要解密的數(shù)據(jù)。

14. 等待命令完成。

AES解密示例

在下面的AES解密示例中,將SPI命令寫入ADF7023:

1. 寫入0x18112A。 VAR_W_PTR設(shè)置為0x2A。 算法的32字節(jié)工作空間從地址0x02A開始。

2. 寫入0x18140C。 通過VAR_KEYSIZE選擇128位的密鑰。

3. 寫入0x181600。 通過VAR_AES_MODE選擇ECB模式。

4. 寫入0x18136A。 VAR_WFOR_PTR設(shè)置為0x6A。 密鑰從地址0x06A開始。

5. 將密鑰寫入從地址0x06A開始的數(shù)據(jù)包RAM。

6. 寫入0x18124A。 VAR_WINV_PTR設(shè)置為0x4A。 逆密鑰從地址0x04A開始。

7. 不使用CBC模式1,因此跳過第7步。

8. 寫入0xD1。 發(fā)出CMD_AES_DECRYPT_INIT。 此命令生成并保存逆密鑰,從地址0x04A開始。

9. 等待命令完成。

10. 寫入0x180101。 VAR_NUM_BLOCKS設(shè)置為0x01。 解密一個(gè)16字節(jié)塊。

11. 寫入0x18108A。 VAR_C_PTR設(shè)置為0x8A。 要解密的數(shù)據(jù)從地址0x08A開始。

12. 將要解密的數(shù)據(jù)寫入從地址0x08A開始的數(shù)據(jù)包RAM。

13. 寫入0xD2。 發(fā)出CMD_AES_DECRYPT。

14. 等待命令完成。

確定AES命令完成的時(shí)間

使用CMD_FINISHED中斷來確定CMD_AES_ENCRYPT、CMD_AES_DECRYPT_INIT和CMD_AES_DECRYPT命令何時(shí)完成。 要使能該中斷,請置位INTERRUPT_MASK_1寄存器(地址0x101)的位0 (CMD_FINISHED)。 置位該屏蔽位后,ADF7023的中斷引腳(IRQ_GP3)將在完成任何命令后置位。 向INTERRUPT_SOURCE_1(地址0x337)的位0寫入邏輯1可清除中斷。 有關(guān)中斷產(chǎn)生的更多信息參見ADF7023數(shù)據(jù)手冊。

AES加密和解密時(shí)間

典型AES執(zhí)行時(shí)間如表3所示。

表3. AES初始化、加密和解密時(shí)間

©2016 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners.

AN14152-0-2/16(0)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉