RISC-V MCU中文社区

【分享】 Camellia算法的实现二(基于开源蜂鸟E203协处理器)

发表于 全国大学生集成电路创新创业大赛 2021-06-10 11:39:40
0
2399
0

1、队伍介绍


     队名:穿越时差队。报名编号:CICC2297

    

2、项目实现


     上一篇分享文档介绍了Camellia算法的基本原理,这一篇文档我们来介绍Camellia的具体实现方式。


     


     如上图所示为Camellia加解密系统的结构,PC端上位机通过串口以115200波特率向FPGA发送数据或密钥数据,UART_RX模块接收到数据后,进行串并转换,并将转换后的数据传给Camellia的核心算法模块进行处理。经过处理后的数据,并进行并串转换后,通过UART_TX模块发送给上位机。经过改进后的Camellia系统测试方便,实现FPGA与PC机的友好交互。


   


    核心算法模块的结构如上图所示,可分为子模块:密钥模块(key),加密模块(encode),解密模块(decode)和控制模块(control)。秘钥模块,加密模块以及解密模块这三个模块通过Control模块和外界进行信息交换,而这三者本身不直接和外界进行信息的发送和接收。控制模块既负责与外部数据的接收和发送,又负责内部各模块的信息流控制。密钥模块负责接收密钥数据并产生子密钥数据输出到控制模块,加密模块负责接收明文数据或子密钥数据并返回密文数据到控制模块,解密模块负责接收密文数据或子密钥数据并返回解密好的明文数据到控制模块。



  功能仿真后的波形图如上所示。



   在Vivado实现后的电路结构图如左图所示,在Xilinx A7板子综合的资源消耗情况如右图所示。

   至于Camellia算法如何在协处理上调度实现的,请详看本队伍的比赛报告!

喜欢0
用户评论

未通过实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板