]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
ecc: define curve->group relationship
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Tue, 7 May 2019 15:01:33 +0000 (18:01 +0300)
committerDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Thu, 7 Nov 2019 15:41:29 +0000 (18:41 +0300)
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
lib/algorithms.h
lib/algorithms/ecc.c

index 60556a9a96eb3f2bdc3abdda975c16c412280557..d0191312f78fa89a24f5709652ab4979a767e6e6 100644 (file)
@@ -429,6 +429,7 @@ typedef struct gnutls_ecc_curve_entry_st {
        unsigned sig_size;      /* the size of curve signatures in bytes (EdDSA) */
        unsigned gost_curve;
        bool supported;
+       gnutls_group_t group;
 } gnutls_ecc_curve_entry_st;
 
 const gnutls_ecc_curve_entry_st
index 4308e911ad5a61e99f0a2e4bdfec5efbf8d73739..935bfb8672bd673ce01384e2dc99d227e59a689c 100644 (file)
@@ -37,6 +37,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "SECP192R1",
         .oid = "1.2.840.10045.3.1.1",
         .id = GNUTLS_ECC_CURVE_SECP192R1,
+        .group = GNUTLS_GROUP_SECP192R1,
         .pk = GNUTLS_PK_ECDSA,
         .size = 24,
         .supported = 1,
@@ -45,6 +46,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "SECP224R1",
         .oid = "1.3.132.0.33",
         .id = GNUTLS_ECC_CURVE_SECP224R1,
+        .group = GNUTLS_GROUP_SECP224R1,
         .pk = GNUTLS_PK_ECDSA,
         .size = 28,
         .supported = 1,
@@ -54,6 +56,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "SECP256R1",
         .oid = "1.2.840.10045.3.1.7",
         .id = GNUTLS_ECC_CURVE_SECP256R1,
+        .group = GNUTLS_GROUP_SECP256R1,
         .pk = GNUTLS_PK_ECDSA,
         .size = 32,
         .supported = 1,
@@ -62,6 +65,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "SECP384R1",
         .oid = "1.3.132.0.34",
         .id = GNUTLS_ECC_CURVE_SECP384R1,
+        .group = GNUTLS_GROUP_SECP384R1,
         .pk = GNUTLS_PK_ECDSA,
         .size = 48,
         .supported = 1,
@@ -70,6 +74,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "SECP521R1",
         .oid = "1.3.132.0.35",
         .id = GNUTLS_ECC_CURVE_SECP521R1,
+        .group = GNUTLS_GROUP_SECP521R1,
         .pk = GNUTLS_PK_ECDSA,
         .size = 66,
         .supported = 1,
@@ -77,6 +82,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
        {
         .name = "X25519",
         .id = GNUTLS_ECC_CURVE_X25519,
+        .group = GNUTLS_GROUP_X25519,
         .pk = GNUTLS_PK_ECDH_X25519,
         .size = 32,
         .supported = 1,
@@ -118,6 +124,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "CryptoPro-A",
         .oid = "1.2.643.2.2.35.1",
         .id = GNUTLS_ECC_CURVE_GOST256CPA,
+        .group = GNUTLS_GROUP_GC256B,
         .pk = GNUTLS_PK_UNKNOWN,
         .size = 32,
         .gost_curve = 1,
@@ -127,6 +134,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "CryptoPro-B",
         .oid = "1.2.643.2.2.35.2",
         .id = GNUTLS_ECC_CURVE_GOST256CPB,
+        .group = GNUTLS_GROUP_GC256C,
         .pk = GNUTLS_PK_UNKNOWN,
         .size = 32,
         .gost_curve = 1,
@@ -136,6 +144,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "CryptoPro-C",
         .oid = "1.2.643.2.2.35.3",
         .id = GNUTLS_ECC_CURVE_GOST256CPC,
+        .group = GNUTLS_GROUP_GC256D,
         .pk = GNUTLS_PK_UNKNOWN,
         .size = 32,
         .gost_curve = 1,
@@ -145,6 +154,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "CryptoPro-XchA",
         .oid = "1.2.643.2.2.36.0",
         .id = GNUTLS_ECC_CURVE_GOST256CPXA,
+        .group = GNUTLS_GROUP_GC256B,
         .pk = GNUTLS_PK_UNKNOWN,
         .size = 32,
         .gost_curve = 1,
@@ -154,6 +164,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "CryptoPro-XchB",
         .oid = "1.2.643.2.2.36.1",
         .id = GNUTLS_ECC_CURVE_GOST256CPXB,
+        .group = GNUTLS_GROUP_GC256D,
         .pk = GNUTLS_PK_UNKNOWN,
         .size = 32,
         .gost_curve = 1,
@@ -163,6 +174,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "TC26-256-A",
         .oid = "1.2.643.7.1.2.1.1.1",
         .id = GNUTLS_ECC_CURVE_GOST256A,
+        .group = GNUTLS_GROUP_GC256A,
         .pk = GNUTLS_PK_GOST_12_256,
         .size = 32,
         .gost_curve = 1,
@@ -172,6 +184,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "TC26-256-B",
         .oid = "1.2.643.7.1.2.1.1.2",
         .id = GNUTLS_ECC_CURVE_GOST256B,
+        .group = GNUTLS_GROUP_GC256B,
         .pk = GNUTLS_PK_GOST_12_256,
         .size = 32,
         .gost_curve = 1,
@@ -181,6 +194,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "TC26-256-C",
         .oid = "1.2.643.7.1.2.1.1.3",
         .id = GNUTLS_ECC_CURVE_GOST256C,
+        .group = GNUTLS_GROUP_GC256C,
         .pk = GNUTLS_PK_GOST_12_256,
         .size = 32,
         .gost_curve = 1,
@@ -190,6 +204,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "TC26-256-D",
         .oid = "1.2.643.7.1.2.1.1.4",
         .id = GNUTLS_ECC_CURVE_GOST256D,
+        .group = GNUTLS_GROUP_GC256D,
         .pk = GNUTLS_PK_GOST_12_256,
         .size = 32,
         .gost_curve = 1,
@@ -199,6 +214,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "TC26-512-A",
         .oid = "1.2.643.7.1.2.1.2.1",
         .id = GNUTLS_ECC_CURVE_GOST512A,
+        .group = GNUTLS_GROUP_GC512A,
         .pk = GNUTLS_PK_GOST_12_512,
         .size = 64,
         .gost_curve = 1,
@@ -208,6 +224,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "TC26-512-B",
         .oid = "1.2.643.7.1.2.1.2.2",
         .id = GNUTLS_ECC_CURVE_GOST512B,
+        .group = GNUTLS_GROUP_GC512B,
         .pk = GNUTLS_PK_GOST_12_512,
         .size = 64,
         .gost_curve = 1,
@@ -217,6 +234,7 @@ gnutls_ecc_curve_entry_st ecc_curves[] = {
         .name = "TC26-512-C",
         .oid = "1.2.643.7.1.2.1.2.3",
         .id = GNUTLS_ECC_CURVE_GOST512C,
+        .group = GNUTLS_GROUP_GC512C,
         .pk = GNUTLS_PK_GOST_12_512,
         .size = 64,
         .gost_curve = 1,