Commit Graph

317 Commits

Author SHA1 Message Date
Zhi Guan
c79084ad03 Remove sm9 modp to/from bytes/hex 2024-04-17 09:09:37 +08:00
Zhi Guan
c32cb0f8e4 Add sm3_pbkdf2 function
digest.h will be removed in the future.
2024-04-16 23:04:18 +08:00
Zhi Guan
f0e70bbb4d Rename SM2_Z256 to sm2_z256_t 2024-04-16 22:58:07 +08:00
Zhi Guan
6028d1e10b Rename POINT_AFFINE to AFFINE_POINT 2024-04-16 22:51:38 +08:00
Zhi Guan
b2a5885e23 Update sm9.h 2024-04-16 19:23:14 +08:00
Zhi Guan
ddda806267 Change function names 2024-04-16 19:03:05 +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
28428de876 Remove fp_from_bytes and fn_from_bytes 2024-04-13 23:06:38 +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
047ec4586a Remove macros 2024-04-13 18:48:11 +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
0daba2e61d Generate compiler compatible assembly symbols
Typically when compiling a function `foo`,  GCC will add a prefix `_` to the symbol, i.e., generate `_foo`. But on some platforms, the compiler will not add prefix. option `ENABLE_ASM_UNDERSCORE_PREFIX` change the default name of global symbols in assembly code.
2024-04-13 17:37:47 +08:00
Zhi Guan
8e2c4ebd2f Update SM4 OpenCL implementation 2024-04-12 16:07:30 +08:00
Zhi Guan
9fd4464980 AES GCM depends on CTR 2024-04-12 10:27:08 +08:00
Zhi Guan
1ab7104749 Update GF(2^128) AVX implementation 2024-04-11 22:40:49 +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
southorange0929
cf63ea9ae1 fix(include): FILE deps on stdio header 2024-04-11 09:56:13 +08:00
Zhi Guan
2d0378f3c7 Adjust SM4 source files 2024-04-10 16:07:44 +08:00
Zhi Guan
6b36c51cdf Add GMUL ASM 2024-03-31 16:54:24 +08:00
Zhi Guan
b476ef7528 Update SM9 2024-03-20 23:51:46 +08:00
Gorachya
ce7f9a281a Merge branch 'guanzhi:master' into master 2024-03-19 23:32:08 +08:00
Gorachya
ffb31eabc6 Add files via upload 2024-03-19 23:31:20 +08:00
Gorachya
bb2c86bcd8 Add files via upload 2024-03-19 23:28:59 +08:00
Zhi Guan
31440f9948 Update SM2 2024-03-19 21:37:36 +08:00
Gorachya
1d00270ae0 Add files via upload 2024-03-14 20:05:43 +08:00
Gorachya
ecb7cb3245 Add files via upload 2024-03-13 18:58:56 +08:00
Gorachya
aa8f1ae963 Add files via upload 2024-03-13 18:53:17 +08:00
Gorachya
0d5eb5f21e Add files via upload 2024-03-13 15:42:16 +08:00
Gorachya
ed658c8780 Add files via upload 2024-03-13 15:41:16 +08:00
Gorachya
ec828be171 Add files via upload 2024-03-13 15:40:27 +08:00
Zhi Guan
33baa3df92 Update SM2 2024-03-10 22:34:43 +08:00
Zhi Guan
4fa09e1f54 Update sm2 sign/enc with z256 implementation 2024-02-26 09:52:40 +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
b58ea74f96 Fix tls_recv buffer overflow bug 2024-02-06 22:01:33 +08:00
Zhi Guan
69ffa88037 Fix TLS Alert
Alert, ChangeCipherSpec record should be encrypted after handshake
2024-02-06 20:57:27 +08:00
Zhi Guan
9f2bfb5ad0 Add more options to TLS
add `-get` and `-quiet` option to `tlcp_client`
2024-02-05 17:01:09 +08:00
Zhi Guan
9cfc64d34b Change tls_named_curve_name to tls_curve_name 2024-02-04 11:40:58 +08:00
Zhi Guan
68447f036f Update alert in tls.c 2024-01-31 21:37:53 +08:00
Zhi Guan
f32a9d9b53 Update tls.c 2024-01-31 21:10:43 +08:00
Zhi Guan
2c893d797b Update soft_sdf 2024-01-31 21:10:30 +08:00
Zhi Guan
31efcb5d87 Add encrypt/decrypt to sm2_ctx.c 2024-01-07 17:26:29 +08:00
Zhi Guan
b0c5208a68 Support SM3 third-party implementation 2024-01-04 09:37:12 +08:00
Zhi Guan
92818b3fe5 Update SM4_CBC_CTX and SM4_CTR_CTX
To support UADK and other third-party SM4 implementations
2024-01-03 10:17:31 +08:00
Zhi Guan
1def752948 Update sm4_cbc_mac.h 2023-12-25 10:26:20 +08:00