From 4e8e9536a5cc35f3048e7e9b94cb99e46d449f05 Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Sun, 9 Jul 2023 13:55:05 +0800 Subject: [PATCH] =?UTF-8?q?Updated=20SM9=E5=AE=9E=E7=8E=B0=E5=8F=8A?= =?UTF-8?q?=E4=BC=98=E5=8C=96=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SM9实现及优化.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/SM9实现及优化.md b/SM9实现及优化.md index e04d40d..bc830d5 100644 --- a/SM9实现及优化.md +++ b/SM9实现及优化.md @@ -7,6 +7,12 @@ 第二步:以bn256为基础,基于SM9参数实现1-2-4-12塔式扩域。gfP和gfP2比较简单,改造程度不大,主要是添加测试,确保正确性。接着实现gfP4,gfP12,基础算法加、减、乘、平方相对容易,共轭Conjucate和Frobenius运算花了相对多一点时间。 第三步:参考sm9_alg.c和bn256,实现Pairing,这一步花了最多的时间。那时候的实现是这样的:[bn_pair.go]( -https://github.com/emmansun/gmsm/blob/7254c055d7a353094a4d3b2c95d17505d2e8e82b/sm9/bn_pair.go) +https://github.com/emmansun/gmsm/blob/7254c055d7a353094a4d3b2c95d17505d2e8e82b/sm9/bn_pair.go)。第三步做完,基础已完成。 + +第四步:实现SM9的密钥生成、签名/验签、加解密及密钥交换,这一步相对顺利。 + +这四步前后花了一个月左右的时间。 + +