Use z256 and jacobian coordinates as inner presentation of SM2 point

This commit is contained in:
Zhi Guan
2024-04-18 21:27:00 +08:00
parent 549c68d2df
commit e9bbcf5490
18 changed files with 312 additions and 646 deletions

View File

@@ -610,7 +610,7 @@ Handshakes
*/
int tls13_client_hello_exts_set(uint8_t *exts, size_t *extslen, size_t maxlen,
const SM2_POINT *client_ecdhe_public)
const SM2_Z256_POINT *client_ecdhe_public)
{
int protocols[] = { TLS_protocol_tls13 };
int supported_groups[] = { TLS_curve_sm2p256v1 };
@@ -646,7 +646,7 @@ int tls13_client_hello_exts_set(uint8_t *exts, size_t *extslen, size_t maxlen,
}
int tls13_process_client_hello_exts(const uint8_t *exts, size_t extslen,
const SM2_KEY *server_ecdhe_key, SM2_POINT *client_ecdhe_public,
const SM2_KEY *server_ecdhe_key, SM2_Z256_POINT *client_ecdhe_public,
uint8_t *server_exts, size_t *server_exts_len, size_t server_exts_maxlen)
{
size_t len = 0;
@@ -707,7 +707,7 @@ int tls13_process_client_hello_exts(const uint8_t *exts, size_t extslen,
return 1;
}
int tls_client_key_shares_from_bytes(SM2_POINT *sm2_point, const uint8_t **in, size_t *inlen)
int tls_client_key_shares_from_bytes(SM2_Z256_POINT *sm2_point, const uint8_t **in, size_t *inlen)
{
const uint8_t *key_shares;
size_t key_shares_len;
@@ -729,7 +729,7 @@ int tls_client_key_shares_from_bytes(SM2_POINT *sm2_point, const uint8_t **in, s
switch (group) {
case TLS_curve_sm2p256v1:
sm2_point_from_octets(sm2_point, key_exch, key_exch_len);
sm2_z256_point_from_octets(sm2_point, key_exch, key_exch_len);
break;
default:
error_print();
@@ -741,7 +741,7 @@ int tls_client_key_shares_from_bytes(SM2_POINT *sm2_point, const uint8_t **in, s
}
// 这个函数不是太正确应该也是一个process
int tls13_server_hello_extensions_get(const uint8_t *exts, size_t extslen, SM2_POINT *sm2_point)
int tls13_server_hello_extensions_get(const uint8_t *exts, size_t extslen, SM2_Z256_POINT *sm2_point)
{
uint16_t version;
while (extslen) {
@@ -1505,7 +1505,7 @@ int tls13_do_connect(TLS_CONNECT *conn)
size_t server_verify_data_len;
SM2_KEY client_ecdhe;
SM2_POINT server_ecdhe_public;
SM2_Z256_POINT server_ecdhe_public;
SM2_KEY server_sign_key;
const DIGEST *digest = DIGEST_sm3();
@@ -1981,7 +1981,7 @@ int tls13_do_accept(TLS_CONNECT *conn)
size_t server_exts_len;
SM2_KEY server_ecdhe;
SM2_POINT client_ecdhe_public;
SM2_Z256_POINT client_ecdhe_public;
SM2_KEY client_sign_key;
const BLOCK_CIPHER *cipher;
const DIGEST *digest;