当前位置: 首页 > news >正文

AES硬件运算单元

功能描述
AES单元主要功能如下:
支持解密密钥扩展
支持128bit/192bit/256bit的密钥长度支持ECBCBCCTRM支持DMA进行自动数据传输
支持GF(2^128)域下的乘法,支持GMAC

工作模式
AES有4种工作模式,通过配置MODE1:0]寄存器设置。
模式1:用存储在AES KEYRx寄存器中的密钥加密。
模式2:密钥扩展,把初始存储在AESKEYRx寄存器的加密密钥覆盖成在密钥扩展完成后存储在内部寄存器的密钥计算结果。
模式3:用存储在AESKEYRX寄存器中的解密密钥(预计算的)解密。
模式4:用存储在AESKEYRx寄存器中的加密密钥进行密钥扩展和解密。(在CTR模式下不使用)

首先通过配置MODEF1:01寄存器确定工作模式,MODE寄存器必须在AES使能前(EN=0时)才能够配置。KEY寄存器也应该在AES使能前配置。之后配置数据流处理模式寄存器CHMOD[1:0],在 CBC/CTR/GCM模式下还需要配置IV寄存器。
接着可以使能EN,在模式1/模式3/模式4下,AES模块等待软件往AESDINR寄存器写入输入数据,写4次写完128bit后AES开始计算。在模式2时,使能EN后就马上进行密钥扩展运算了。
计算完成后标志CCF会置起,如果CCFIE=1,会产生一个中断信号。软件再从AESDOUTR寄存器中读4次共128bit的结果。
AES还支持DMA模式。通过配置DMAOUTEN=1和DMAINEN=1,AES可以配合DMA连续的处理数据,无需CPU的介入。
错误标志RDERR和WRERR会在一次错误的读写操作时置起,如果ERRIE使能,还会产生相应的错误中断。AES在产生错误后还会继续正常工作。通过重置EN寄存器能够在任何时候复位AES模块。

http://www.lryc.cn/news/63727.html

相关文章:

  • mulesoft MCIA 破釜沉舟备考 2023.04.28.26 (易错题)
  • k210单片机定时器的应用
  • linux0.12-7-1
  • 设置 文本框 自动填充背景颜色 为白色
  • Bitmap引起的OOM问题
  • 【JavaEE初阶】认识线程(Thread)
  • 自动化运维工具一Ansible Roles实战
  • json 中有递归parentId节点转 c#实体类时如何处理
  • 给大家介绍几个手机冷门但好用的小技巧
  • 2.3 定点乘法运算
  • C++每日一练:打家劫室(详解动态规划法)
  • Wireshark使用
  • 这才是 SpringBoot 统一登录鉴权、异常处理、数据格式 的正确姿势
  • Java面试题总结 | Java面试题总结6-MYSQL模块(持续更新)
  • Linux命令集(Linux文件管理命令--mv指令篇)
  • 不一样的 Git 之间 | GitLab vs GitHub vs Gitee vs GitCode
  • 海尔牵头IEEE P2786国际标准通过Sponsor投票并连任工作组主席
  • 倾斜摄影超大场景的三维模型的顶层合并的纹理压缩与抽稀处理技术分析
  • linux命令之iostat详解
  • 【C++】程序员必备知识:认识类与对象
  • python基础实战5-python基本结构
  • 移动端异构运算技术 - GPU OpenCL 编程(基础篇)
  • QString类方法和变量简介(全)
  • 中移链控制台对接4A平台功能验证介绍
  • 必知的Facebook广告兴趣定位技巧,更准确地找到目标受众
  • 【MySQL】慢查询+SQL语句优化 (内容源自ChatGPT)
  • HashMap底层源码解析及红黑树分析
  • 科技云报道:一路狂飙的ChatGPT,是时候被监管了
  • 第四十四章 管理镜像 - 传入日记传输率
  • 加密解密学习笔记