From 54976ab896bb129661061d154e12c4461cb17550 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hanno=20B=C3=B6ck?= <990588+hannob@users.noreply.github.com> Date: Sun, 26 Oct 2025 14:10:22 +0100 Subject: [PATCH] Add SM2 curve support --- lightecc/curves/weierstrass.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lightecc/curves/weierstrass.py b/lightecc/curves/weierstrass.py index 064d800..67f6e98 100644 --- a/lightecc/curves/weierstrass.py +++ b/lightecc/curves/weierstrass.py @@ -928,6 +928,17 @@ class EccFrog512CK2(WeierstrassInterface): n = 9149012705592502490164965176888130701548053918699793689672344807772801105830557269123255850915745063541133157503707284048429261692283957712127567713136519 +class SM2(WeierstrassInterface): + a = 0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC + b = 0x28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93 + p = 0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF + G = ( + 0x32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7, + 0xBC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0, + ) + n = 0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123 + + class Test_Curve(WeierstrassInterface): """ koclab.cs.ucsb.edu/teaching/ccs130h/2018/04ecc.pdf