From 33f6033a33b5c3388ecbd4b2966dc06bd3d0842b Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Wed, 29 Dec 2021 13:20:45 +0800 Subject: [PATCH] =?UTF-8?q?Updated=20Armv8.2=20SM3=E5=92=8CSM4=20(markdown?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Armv8.2-SM3和SM4.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Armv8.2-SM3和SM4.md b/Armv8.2-SM3和SM4.md index 41ba202..34f632c 100644 --- a/Armv8.2-SM3和SM4.md +++ b/Armv8.2-SM3和SM4.md @@ -16,9 +16,19 @@ 和CPU指令级别的差距基本上是10倍! -找不到相关CPU环境,mark先。 +## SM4 with AES +AESE指令相当于: +1. AddRoundKey(state, RoudKey) +1. ShiftRows(State) +1. SubBytes(State) + +所以,如果RoudKey = 0, 那么AESE相当于执行了 +1. ShiftRows(State) +1. SubBytes(State) + ## Reference +SM3和SM4 CPU指令实现,找不到相关CPU环境,mark先。 1. [Summary of A64 cryptographic instructions](https://developer.arm.com/documentation/100076/0100/a64-instruction-set-reference/a64-cryptographic-algorithms/a64-cryptographic-instructions?lang=en) 1. [Arm A64 Instruction Set Architecture](https://developer.arm.com/documentation/100076/0100/a64-instruction-set-reference/a64-cryptographic-algorithms/a64-cryptographic-instructions?lang=en) 1. [linux arm64 crypto](http://www.dydata.cc/Admin/NavFolder/%60linux%60kernel%60linux-5%7C0%60arch%60arm64%60crypto%60) / (https://github.com/torvalds/linux/tree/master/arch/arm64/crypto)