当前位置:首页 > 电源 > 功率器件
[导读]本文说明ADF7023和ADF7023-J收发器可用的高级加密标准(AES)固件模块(在下文中,提到ADF7023的内容也适用于ADF7023-J)。 可下载的AES固件模块支持密钥大小为128位、192位和256位的128位块加密和解密。 它支持两种模式:电码本(ECB)模式和密码块链接(CBC)模式1。

简介

本文说明ADF7023和ADF7023-J收发器可用的高级加密标准(AES)固件模块(在下文中,提到ADF7023的内容也适用于ADF7023-J)。 可下载的AES固件模块支持密钥大小为128位、192位和256位的128位块加密和解密。 它支持两种模式:电码本(ECB)模式和密码块链接(CBC)模式1。

图1. ECB模式

ECB模式利用一个密钥逐块地加密和解密128位数据,如图1所示。 CBC模式1则是先做一次加法运算(通过模2算法,用户提供的128位初始化向量)再加密, 所得的密文用作下一个块的初始化向量,依此类推,如图2所示。

解密过程正好相反。 固件利用片内硬件加速模块来增大吞吐量,并将AES处理的延迟时间降至最短。

该固件模块名为rom_ram_7023_2_2_RS_AES.dat,包含里德-所罗门(RS)前向纠错和AES加密,可从www.analog.com/firmwaremodules-adf7023下载。

图2. CBC模式1

命令和数据包随机存取存储器寄存器位置

表1. 需在AES加密或解密之前进行初始化的寄存器位置

1 这些寄存器定义针对该固件模块,不适用于ADF7023的正常操作。

AES配置变量、密钥和数据存储在数据包随机存取存储器(RAM)中。

表2中列出了执行AES加密、生成逆密钥或执行AES解密所需的命令。 有关AES加密和解密步骤的更多信息,参见“AES步骤”部分。

由于使用指针、不同密钥大小和两种不同模式,ADF7023上的AES实现是高度可配置的。 图3显示了一个配置示例。

表2. AES命令

图3. AES操作的数据包RAM存储器分配示例

AES步骤

向ADF7023写入AES固件模块

使用AES固件模块之前,用户必须将其写入ADF7023的程序RAM中。 下列步骤详细解释了如何向程序RAM写入AES固件模块:

1. 确保ADF7023处于PHY_OFF状态。

2. 发出CMD_RAM_LOAD_INIT命令(地址0xBF)。

3. 使用串行外设接口(SPI)存储器块写入命令(0x1E00[固件模块])向程序RAM写入模块;有关块写入的更多信息,请参见ADF7023数据手册。

4. 发出CMD_RAM_LOAD_DONE命令(地址0xC7)。

固件模块现已存储到程序RAM中。

AES加密步骤

下列步骤详细说明了如何执行AES加密:

1. 将AES工作空间的起始地址写入VAR_W_PTR。

2. 写入VAR_KEYSIZE以设置密钥大小。

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字节块数写入VAR_NUM_BLOCKS。

8. 将要加密的数据地址写入VAR_C_PTR。

9. 将要加密的数据写入VAR_C_PTR指定的位置。

10. 发出CMD_AES_ENCRYPT (0xD0)。 用加密后的数据覆盖要加密的数据。

11. 等待命令完成。

AES加密示例

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

1. 写入0x18112A。 VAR_W_PTR设置为0x2A。 算法的32字节工作空间从地址0x02A开始。

2. 写入0x18140C。 通过VAR_KEYSIZE选择128位的密钥。

3. 写入0x181600。 通过VAR_AES_MODE选择ECB模式。

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

5. 写入0x18136A。 VAR_WFOR_PTR设置为0x6A。 密钥从地址0x06A开始。

6. 将密钥写入从地址0x06A开始的数据包RAM。

7. 写入0x180101。 VAR_NUM_BLOCKS设置为0x01。 加密一个16字节块。

8. 写入0x18108A。 VAR_C_PTR设置为0x8A。 要加密的数据从地址0x08A开始。

9. 将要加密的数据写入从地址0x08A开始的数据包RAM。

10. 写入0xD0。 发出CMD_AES_ENCRYPT。

11. 等待命令完成。

AES解密步骤

下列步骤详细说明了如何执行AES解密:

1. 将AES工作空间的起始地址写入VAR_W_PTR。

2. 写入VAR_KEYSIZE以设置密钥大小。

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. 将解密需要的保留存储地址写入VAR_CIPHERBUF_PTR。

8. 发出CMD_AES_DECRYPT_INIT (0xD1)。 此命令生成并保存逆密钥。

9. 等待命令完成。

10. 将要解密的16字节块数写入VAR_NUM_BLOCKS。

11. 将要解密的数据地址写入VAR_C_PTR。

12. 将要解密的数据写入VAR_C_PTR指定的位置。

13. 发出CMD_AES_DECRYPT (0xD2)。 用解密后的数据覆盖要解密的数据。

14. 等待命令完成。

AES解密示例

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

1. 写入0x18112A。 VAR_W_PTR设置为0x2A。 算法的32字节工作空间从地址0x02A开始。

2. 写入0x18140C。 通过VAR_KEYSIZE选择128位的密钥。

3. 写入0x181600。 通过VAR_AES_MODE选择ECB模式。

4. 写入0x18136A。 VAR_WFOR_PTR设置为0x6A。 密钥从地址0x06A开始。

5. 将密钥写入从地址0x06A开始的数据包RAM。

6. 写入0x18124A。 VAR_WINV_PTR设置为0x4A。 逆密钥从地址0x04A开始。

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

8. 写入0xD1。 发出CMD_AES_DECRYPT_INIT。 此命令生成并保存逆密钥,从地址0x04A开始。

9. 等待命令完成。

10. 写入0x180101。 VAR_NUM_BLOCKS设置为0x01。 解密一个16字节块。

11. 写入0x18108A。 VAR_C_PTR设置为0x8A。 要解密的数据从地址0x08A开始。

12. 将要解密的数据写入从地址0x08A开始的数据包RAM。

13. 写入0xD2。 发出CMD_AES_DECRYPT。

14. 等待命令完成。

确定AES命令完成的时间

使用CMD_FINISHED中断来确定CMD_AES_ENCRYPT、CMD_AES_DECRYPT_INIT和CMD_AES_DECRYPT命令何时完成。 要使能该中断,请置位INTERRUPT_MASK_1寄存器(地址0x101)的位0 (CMD_FINISHED)。 置位该屏蔽位后,ADF7023的中断引脚(IRQ_GP3)将在完成任何命令后置位。 向INTERRUPT_SOURCE_1(地址0x337)的位0写入逻辑1可清除中断。 有关中断产生的更多信息参见ADF7023数据手册。

AES加密和解密时间

典型AES执行时间如表3所示。

表3. AES初始化、加密和解密时间

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

AN14152-0-2/16(0)

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭