Updated SM9实现及优化 (markdown)

Sun Yimin 2023-07-09 13:25:25 +08:00
parent c6ff533f77
commit 916b59948c

@ -4,6 +4,6 @@
第一步自然是寻找参考实现,找了一下,[bn256](https://github.com/cloudflare/bn256)优点是基域通过汇编实现了乘法、加法、减法等完整的1-2-6-12塔式扩域优化的pairing实现完善的代码注释可以容易找到参考文档。缺点是SM9以1-2-4-12塔式扩域为准基于bn256代码改造的实现很难验证正确性尤其对于初始实现者来说
[gmssl sm9](https://github.com/guanzhi/GmSSL/blob/develop/src/sm9_alg.c)优点是1-2-4-12塔式扩域正确性。缺点是纯c语言实现基本无优化。
第二步以bn256为基础基于SM9参数实现1-2-4-12塔式扩域。gfP和gfP2比较简单改造程度不大主要是添加测试确保正确性。接着实现gfP4gfP12基础算法加、减、乘、平方相对容易
第二步以bn256为基础基于SM9参数实现1-2-4-12塔式扩域。gfP和gfP2比较简单改造程度不大主要是添加测试确保正确性。接着实现gfP4gfP12基础算法加、减、乘、平方相对容易Conjucate