RISC-V MCU中文社区

【分享】 AES和SM4算法的可重构分析

发表于 全国大学生集成电路创新创业大赛 2023-05-26 22:10:42
0
1487
0

报名编号:CICC2353

称团队名:不划水队

所选杯赛:芯来RISC-V杯

一、   AESSM4算法特点分析

基于前面几篇分享,我们对AESSM4的算法流程有了较为清晰的认识,接下来对AESSM4算法的共同点进行分析,得出二者的可重构设计思路。

首先,这里把AESSM4的算法流程图再贴出来方便对比分析:


                                            AES算法流程图

                                            SM4算法流程图

可以看到AESSM4存在相同的操作符,例如异或、S盒替换、循环左移操作等。其中异或、循环左移操作符在理论上可以实现复用,但是需要增加额外的控制逻辑。这对于简单的逻辑操作符而言,并不能够明显的减少硬件开销。相较而言,S盒占用的硬件开销更大且使用频繁,故可对S盒进行复用。而S盒在实现上分为基于查找表(Look-up TableLUT)和基于伽罗瓦域(Galois FieldGF)两种方式。基于LUT实现S盒,AES加解密需要2LUTSM4加解密需要1LUT,合计3LUT。然而,两种算法的S盒在GF下具有相似的实现过程,可以进行可重构设计。同时,这两种算法在加解密过程中会频繁使用寄存器来存储数据


二、   可重构S盒设计思路

GF下,AESS盒输出公式为 Z=M(X^-1)+V, SM4的S盒公式为:Y=A(AX+C)^-1+C 。

通过对比以上两个计算公式可以发现,它们都具有的仿射变换操作和求逆操作,于是可以通过以下流程图对AESSM4算法进行S盒的可重构。具体实现过程需要具备有限域上的知识,感兴趣的读者可参考本文末尾列出的链接进行延伸阅读。


三、   参考资料

[1] Canright D . A very compact Rijndael S-box[J]. technical reports collection, 2005.

[2]斯托林斯, 斯托林斯. 密码编码学与网络安全:原理与实践[M]. 电子工业出版社, 2006.


往期分享:

【1】蜂鸟E203协处理器EAI指令及接口_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (rvmcu.com)

【2】加密算法的应用_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (rvmcu.com)

【3】国密系列算法简介及SM4算法原理介绍_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (rvmcu.com)

【4】Demo_NICE软件源码解读及应用_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (riscv-mcu.com)

【5】AES加密流程_全国大学生集成电路创新创业大赛_RISC-V论坛讨论_RISC-V MCU中文社区 (riscv-mcu.com)











喜欢0
用户评论
ylshi

ylshi 实名认证

懒的都不写签名

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