Commit Graph

186 Commits

Author SHA1 Message Date
Zhi Guan
2e45b3fbe1 Add zuc speed test 2024-04-23 09:57:44 +08:00
Zhi Guan
329b539c50 Add sm9 speed test 2024-04-23 09:57:37 +08:00
Zhi Guan
fa5bf0e3a8 Add sm4_cl speed test 2024-04-22 22:59:02 +08:00
Zhi Guan
242bbb3f6d Add speed tests 2024-04-22 22:46:23 +08:00
Zhi Guan
e05fd9c1b9 Use Montgomery's Trick on sm2_fast_sign_pre_compute 2024-04-22 17:43:05 +08:00
Gorachya
d1131455b6 Update sm9test.c 2024-04-22 12:00:29 +08:00
Zhi Guan
252c9e1765 Add more SM4 test vectors
SM4 pass openssl and other known test vectors. SM4-GCM and SM4-XTS only support the GB/T GF(2^128) encoding standard.
2024-04-21 10:10:46 +08:00
Simon
350e91af0a 修复Windows编译的问题。
将Windows CI单独拿出来。在Windows环境下编译需要在cmake的时候增加-DWIN32=ON参数。
2024-04-20 12:23:30 +08:00
Zhi Guan
8cb306ad0b Adjust SM3 SM4 API
Remove sm3_digest. Use more _gmssl_export
2024-04-19 18:32:06 +08:00
Zhi Guan
ab7c9a7651 Adjust SM2 API and tests 2024-04-19 17:32:54 +08:00
Zhi Guan
725817add9 Use sm3_pbkdf2 without digest API 2024-04-19 13:21:52 +08:00
Zhi Guan
356e618d99 Add sm2_key test 2024-04-18 22:01:50 +08:00
Zhi Guan
e9bbcf5490 Use z256 and jacobian coordinates as inner presentation of SM2 point 2024-04-18 21:27:00 +08:00
Zhi Guan
2a5dc640bd Remove some modn functions 2024-04-17 20:55:20 +08:00
Zhi Guan
b01ad79475 Update sm9test.c 2024-04-17 15:44:56 +08:00
Zhi Guan
5d40024f14 Update SM9 to/from_hex API 2024-04-17 15:42:47 +08:00
Zhi Guan
f0e70bbb4d Rename SM2_Z256 to sm2_z256_t 2024-04-16 22:58:07 +08:00
Zhi Guan
b519f973b9 Delete sm2_uint128test.c 2024-04-16 19:04:17 +08:00
Zhi Guan
ef03ddc680 Restore the original sm9 header file name. 2024-04-14 11:15:05 +08:00
Zhi Guan
771fe867ef Adjust SM9 API
不再将Fp, Fn上的元素视为一种类型,而是看做在sm9_z256_t类型上的特殊计算类型,同理Montgomery计算也是sm9_z256_t上的计算。通过函数名可以完全体现在sm9_z256_t上的计算类型。

于此不同的是,GF(p^2), GF(p^4), GF(p^12) 几个类型在内部完全采用Montgomery形式表示,因此sm9_z256_fp2_t等表示特殊的类型,不再区分mul和mont_mul,因为所有计算都是Montgomery上的计算。
2024-04-14 10:20:11 +08:00
Zhi Guan
3a46c4a499 Add suffix _t to array type names 2024-04-13 18:57:29 +08:00
Zhi Guan
9937b8dc6d Remove point_copy
use `*R = *P` instead
2024-04-13 18:51:33 +08:00
Zhi Guan
e9d61cb1f4 Remove unused macros
Remove fp_ fn_ macros can reduce the API size. Another reason is that some macros such as fp_equ, fn_equ, can not return correct result on `a` and `a + modulus`
2024-04-13 18:41:19 +08:00
Zhi Guan
8e2c4ebd2f Update SM4 OpenCL implementation 2024-04-12 16:07:30 +08:00
Zhi Guan
8dd2e71a54 Remove old SM9 code 2024-04-11 23:30:01 +08:00
Zhi Guan
b777fbafdb Re-organize SM4/GCM related source files 2024-04-11 22:19:50 +08:00
Zhi Guan
f9e9b20fa7 Change GF(2^128) API
from `r = op(a, b)` to `op(r, a, b)`
2024-04-11 17:57:41 +08:00
Zhi Guan
6b36c51cdf Add GMUL ASM 2024-03-31 16:54:24 +08:00
Gorachya
ce7f9a281a Merge branch 'guanzhi:master' into master 2024-03-19 23:32:08 +08:00
Zhi Guan
31440f9948 Update SM2 2024-03-19 21:37:36 +08:00
Gorachya
d5b6db9af0 Add files via upload 2024-03-14 20:06:49 +08:00
Gorachya
7706e3b360 Add files via upload 2024-03-13 15:44:53 +08:00
Zhi Guan
33baa3df92 Update SM2 2024-03-10 22:34:43 +08:00
Zhi Guan
cfdcd0c0e3 Merge branch 'master' of https://github.com/guanzhi/GmSSL 2024-02-26 09:52:43 +08:00
Zhi Guan
4fa09e1f54 Update sm2 sign/enc with z256 implementation 2024-02-26 09:52:40 +08:00
Simon
d852e639f8 Update sm3test.c 2024-02-25 12:17:23 +08:00
Zhi Guan
c460766320 Update SM2 arithmetic implementations
Decouple API and implementations. SM2 arithmetic exposes 3 types: GF(p), GF(n), and Point.
2024-02-22 11:14:59 +08:00
Zhi Guan
79a6437c8c Update sm4 tool to support more modes
Not finish yet
2024-02-21 09:24:22 +08:00
Zhi Guan
326e7de416 Add SM2 Z256 implementation 2024-02-20 11:24:00 +08:00
Zhi Guan
c9c26aca44 Add more SM4 modes 2024-02-19 14:16:49 +08:00
Zhi Guan
2c893d797b Update soft_sdf 2024-01-31 21:10:30 +08:00
Zhi Guan
f53f69d1e2 Create soft_sdftest.c 2023-12-30 22:15:25 +08:00
Zhi Guan
81c3538020 Add SM3-XMSS post-quantum signature
The current configure is for testing only, the XMSS is configured to use SHA-256, not SM3.
2023-12-18 09:56:43 +08:00
Zhi Guan
dc4c21f4ec Make AES optional and remove "Public API" from headers 2023-12-17 16:52:42 +08:00
Zhi Guan
04cbd81651 Update CMakeLists.txt
both CMakeLists.txt and source use ENABLE_XXX
2023-12-17 16:33:51 +08:00
Zhi Guan
94fc0aacab Update sm4test.c
Fix the memcpy() bug on Windows VMs.
2023-12-14 15:29:06 +08:00
Zhi Guan
93a371113f Delete rc4test.c 2023-12-13 20:19:21 +08:00
Zhi Guan
8106b9b2b7 Delete md5test.c 2023-12-13 20:19:18 +08:00
Zhi Guan
ecb7e1c248 Remove DES 2023-12-13 20:19:16 +08:00
Zhi Guan
5ca0d60781 Add sm2z256 c implementation 2023-04-22 10:23:57 +08:00