摘要
RISC-V指令集架构作为一种新兴的指令集,相较于其他指令集因为其开源特性与易扩展特性被国内外科研机构与企业广泛的用来进行不同功能的定制扩展。另一方面高级加密标准算法(AdvancedEncryptionStandard,AES)作为一种对称加密算法因为其更高的运算速度与更低的内存消耗而广泛应用于网络通信、电话通信、自助取款器等设备中,随着设备的更新换代,如何高速安全地实现AES加密成为一种严峻的挑战。面对这个挑战有的相关研究人员使用FPGA实现AES算法,也有的人利用指令扩展生产AES算法专用CPU处理器,但这些方法灵活度偏低且价格昂贵,因此使用RISC-V内核加上能够实现AES算法指令的协处理器的方案是一种更好的选择。 本文设计了一款RISC-V核的AES算法协处理器模块,通过软硬件相结合的方法有效的提升了AES算法的运算速度。相较于其他实现方法本文的创新之处在于:(1)扩展定义了6条新的RISC-V指令,并且运用这6条指令的组合能够完成AES算法的五种加解密模式。(2)针对扩展的指令设计了具有EAI接口的协处理器模块来辅助主处理器进行AES算法运算(3)优化AES加解密硬件电路部分中字节替换、逆字节替换、列混合与逆列混合模块的结构来提升运行并行度,从而提升该部分的运算速度。 最后针对本文的设计,对AES加解密硬件电路模块与整个系统进行了功能仿真验证,并且使用有无协处理器模块两种方式来运行AES算法,结果表明ECB、CBC、CFB、OFB、CTR五种模式在使用协处理器指令进行数据加密与使用纯软件算法进行加密相比所使用的周期数分别缩短了75倍、75倍、66倍、60倍、54倍,能够达到明显的加速效果。