首页|基于RISC-V的AES算法硬件加速协处理器设计

基于RISC-V的AES算法硬件加速协处理器设计

张旭

基于RISC-V的AES算法硬件加速协处理器设计

张旭1
扫码查看

作者信息

  • 1. 大连理工大学
  • 折叠

摘要

随着万物互联时代的到来,物联网节点设备间的通讯信息安全愈发重要,同时由于物联网节点设备需要应用于各种专用领域,设备SoC对特定领域的可扩展性提出了更高的要求。AES算法作为应用最为广泛的对称加密算法,其性能和安全性对设备极其重要。在这种情况下,物联网与嵌入式设备芯片亟需在超低功耗应用场景下兼顾专用领域扩展性同时提供较高性能的密码算法模块的解决方案。传统的物联网与嵌入式设备实现密码算法的主要方式有专用集成电路模块和软件算法程序两种。以上两种方式分别在扩展性和性能表现方面存在问题。针对这些问题论文提出了一种基于RISC-V的AES算法硬件加速协处理器设计的解决方案。 论文选择了基于RISC-V指令集架构的蜂鸟E203SoC作为平台,利用RISC-V指令集的高度可扩展性扩展专用于AES算法加解密过程的自定义扩展指令实现对AES算法的加速,并以软硬结合的方式进行了系统设计,提供了4个C语言函数作为API供应用程序直接调用来进行经过加速的AES算法加解密。论文主要完成了如下工作: (1)软件部分利用C语言进行程序设计,以内联汇编函数的方式实现若干个自定义扩展指令在软件程序的调用,并在此基础上实现了AES算法的轮循环结构,通过不同的指令调度方式实现AES算法的ECB和CBC两种工作模式。 (2)硬件部分利用VerilogHDL实现了一个通过NICEBus挂载于E203Core的AES算法硬件加速协处理器,其在软件程序驱动下工作,对系统自定义扩展指令进行译码、控制和运算。协处理器以两个寄存器组作为buffer暂存AES算法中的状态矩阵和轮密钥矩阵并实现了专用于将buffer中分组数据写入内存的store型指令和将内存中分组数据读入buffer的load型指令,从而减少CPU对内存的I/O操作。此外,协处理器还包含了字节替换、行移位、列混合、轮密钥加和轮密钥扩展模块实现对AES算法加解密过程中的关键步骤进行硬件实现。 (3)搭建了AES算法硬件加速协处理器测试环境,编写测试软件程序,对协处理器进行测试以验证设计正确性、评估系统性能并将系统实现在XilinxFPGA芯片上;测试结果表明设计在ECB和CBC两种工作模式下进行AES算法加解密输出均正确,且加密和解密过程消耗的指令周期数为软件算法实现的4.04%~6.53%和1.68%~2.94%。

关键词

AES算法/RISC-V指令集架构/协处理器/硬件加速/硬件实现

引用本文复制引用

授予学位

硕士

学科专业

电子科学与技术

导师

王开宇

学位年度

2022

学位授予单位

大连理工大学

语种

中文

中图分类号

TP
段落导航相关论文