X-Git-Url: https://bearssl.org/gitweb//home/git/?p=BearSSL;a=blobdiff_plain;f=tools%2Fnames.c;h=8d6a67eaf3a33f7ab3b06d1f9b373397428cf6eb;hp=a8bb645236087e27c75566a4e5b42130eec23244;hb=b2a08e908d6a1802c9d50aca699193b38b31a0b2;hpb=db8f1b664524e3fbeea8a0730b2bbe2f0bdcea86 diff --git a/tools/names.c b/tools/names.c index a8bb645..8d6a67e 100644 --- a/tools/names.c +++ b/tools/names.c @@ -82,6 +82,30 @@ const cipher_suite cipher_suites[] = { REQ_ECDHE_RSA | REQ_AESGCM | REQ_SHA384 | REQ_TLS12, "ECDHE with RSA, AES-256/GCM encryption (TLS 1.2+)" }, + { + "ECDHE_ECDSA_WITH_AES_128_CCM", + BR_TLS_ECDHE_ECDSA_WITH_AES_128_CCM, + REQ_ECDHE_ECDSA | REQ_AESCCM | REQ_SHA256 | REQ_TLS12, + "ECDHE with ECDSA, AES-128/CCM encryption (TLS 1.2+)" + }, + { + "ECDHE_ECDSA_WITH_AES_256_CCM", + BR_TLS_ECDHE_ECDSA_WITH_AES_256_CCM, + REQ_ECDHE_ECDSA | REQ_AESCCM | REQ_SHA256 | REQ_TLS12, + "ECDHE with ECDSA, AES-256/CCM encryption (TLS 1.2+)" + }, + { + "ECDHE_ECDSA_WITH_AES_128_CCM_8", + BR_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, + REQ_ECDHE_ECDSA | REQ_AESCCM | REQ_SHA256 | REQ_TLS12, + "ECDHE with ECDSA, AES-128/CCM_8 encryption (TLS 1.2+)" + }, + { + "ECDHE_ECDSA_WITH_AES_256_CCM_8", + BR_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8, + REQ_ECDHE_ECDSA | REQ_AESCCM | REQ_SHA256 | REQ_TLS12, + "ECDHE with ECDSA, AES-256/CCM_8 encryption (TLS 1.2+)" + }, { "ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", BR_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, @@ -214,6 +238,30 @@ const cipher_suite cipher_suites[] = { REQ_RSAKEYX | REQ_AESGCM | REQ_SHA384 | REQ_TLS12, "RSA key exchange, AES-256/GCM encryption (TLS 1.2+)" }, + { + "RSA_WITH_AES_128_CCM", + BR_TLS_RSA_WITH_AES_128_CCM, + REQ_RSAKEYX | REQ_AESCCM | REQ_SHA256 | REQ_TLS12, + "RSA key exchange, AES-128/CCM encryption (TLS 1.2+)" + }, + { + "RSA_WITH_AES_256_CCM", + BR_TLS_RSA_WITH_AES_256_CCM, + REQ_RSAKEYX | REQ_AESCCM | REQ_SHA256 | REQ_TLS12, + "RSA key exchange, AES-256/CCM encryption (TLS 1.2+)" + }, + { + "RSA_WITH_AES_128_CCM_8", + BR_TLS_RSA_WITH_AES_128_CCM_8, + REQ_RSAKEYX | REQ_AESCCM | REQ_SHA256 | REQ_TLS12, + "RSA key exchange, AES-128/CCM_8 encryption (TLS 1.2+)" + }, + { + "RSA_WITH_AES_256_CCM_8", + BR_TLS_RSA_WITH_AES_256_CCM_8, + REQ_RSAKEYX | REQ_AESCCM | REQ_SHA256 | REQ_TLS12, + "RSA key exchange, AES-256/CCM_8 encryption (TLS 1.2+)" + }, { "RSA_WITH_AES_128_CBC_SHA256", BR_TLS_RSA_WITH_AES_128_CBC_SHA256, @@ -274,68 +322,99 @@ const cipher_suite cipher_suites[] = { static const struct { int id; const char *name; + const char *sid[4]; } curves[] = { { BR_EC_sect163k1, - "sect163k1" }, + "sect163k1", + { "sect163k1", "K-163", NULL, NULL } }, { BR_EC_sect163r1, - "sect163r1" }, + "sect163r1", + { "sect163r1", NULL, NULL, NULL } }, { BR_EC_sect163r2, - "sect163r2" }, + "sect163r2", + { "sect163r2", "B-163", NULL, NULL } }, { BR_EC_sect193r1, - "sect193r1" }, + "sect193r1", + { "sect193r1", NULL, NULL, NULL } }, { BR_EC_sect193r2, - "sect193r2" }, + "sect193r2", + { "sect193r2", NULL, NULL, NULL } }, { BR_EC_sect233k1, - "sect233k1" }, + "sect233k1", + { "sect233k1", "K-233", NULL, NULL } }, { BR_EC_sect233r1, - "sect233r1" }, + "sect233r1", + { "sect233r1", "B-233", NULL, NULL } }, { BR_EC_sect239k1, - "sect239k1" }, + "sect239k1", + { "sect239k1", NULL, NULL, NULL } }, { BR_EC_sect283k1, - "sect283k1" }, + "sect283k1", + { "sect283k1", "K-283", NULL, NULL } }, { BR_EC_sect283r1, - "sect283r1" }, + "sect283r1", + { "sect283r1", "B-283", NULL, NULL } }, { BR_EC_sect409k1, - "sect409k1" }, + "sect409k1", + { "sect409k1", "K-409", NULL, NULL } }, { BR_EC_sect409r1, - "sect409r1" }, + "sect409r1", + { "sect409r1", "B-409", NULL, NULL } }, { BR_EC_sect571k1, - "sect571k1" }, + "sect571k1", + { "sect571k1", "K-571", NULL, NULL } }, { BR_EC_sect571r1, - "sect571r1" }, + "sect571r1", + { "sect571r1", "B-571", NULL, NULL } }, { BR_EC_secp160k1, - "secp160k1" }, + "secp160k1", + { "secp160k1", NULL, NULL, NULL } }, { BR_EC_secp160r1, - "secp160r1" }, + "secp160r1", + { "secp160r1", NULL, NULL, NULL } }, { BR_EC_secp160r2, - "secp160r2" }, + "secp160r2", + { "secp160r2", NULL, NULL, NULL } }, { BR_EC_secp192k1, - "secp192k1" }, + "secp192k1", + { "secp192k1", NULL, NULL, NULL } }, { BR_EC_secp192r1, - "secp192r1" }, + "secp192r1", + { "secp192r1", "P-192", NULL, NULL } }, { BR_EC_secp224k1, - "secp224k1" }, + "secp224k1", + { "secp224k1", NULL, NULL, NULL } }, { BR_EC_secp224r1, - "secp224r1" }, + "secp224r1", + { "secp224r1", "P-224", NULL, NULL } }, { BR_EC_secp256k1, - "secp256k1" }, + "secp256k1", + { "secp256k1", NULL, NULL, NULL } }, { BR_EC_secp256r1, - "secp256r1 (P-256)" }, + "secp256r1 (P-256)", + { "secp256r1", "P-256", "prime256v1", NULL } }, { BR_EC_secp384r1, - "secp384r1 (P-384)" }, + "secp384r1 (P-384)", + { "secp384r1", "P-384", NULL, NULL } }, { BR_EC_secp521r1, - "secp521r1 (P-521)" }, + "secp521r1 (P-521)", + { "secp521r1", "P-521", NULL, NULL } }, { BR_EC_brainpoolP256r1, - "brainpoolP256r1" }, + "brainpoolP256r1", + { "brainpoolP256r1", NULL, NULL, NULL } }, { BR_EC_brainpoolP384r1, - "brainpoolP384r1" }, + "brainpoolP384r1", + { "brainpoolP384r1", NULL, NULL, NULL } }, { BR_EC_brainpoolP512r1, - "brainpoolP512r1" }, + "brainpoolP512r1", + { "brainpoolP512r1", NULL, NULL, NULL } }, { BR_EC_curve25519, - "Curve25519" }, + "Curve25519", + { "curve25519", "c25519", NULL, NULL } }, { BR_EC_curve448, - "Curve448" }, - { 0, 0 } + "Curve448", + { "curve448", "c448", NULL, NULL } }, + { 0, 0, { 0, 0, 0, 0 } } }; static const struct { @@ -347,15 +426,19 @@ static const struct { { "aes_big_cbcenc", "big", &br_aes_big_cbcenc_vtable }, { "aes_big_cbcdec", "big", &br_aes_big_cbcdec_vtable }, { "aes_big_ctr", "big", &br_aes_big_ctr_vtable }, + { "aes_big_ctrcbc", "big", &br_aes_big_ctrcbc_vtable }, { "aes_small_cbcenc", "small", &br_aes_small_cbcenc_vtable }, { "aes_small_cbcdec", "small", &br_aes_small_cbcdec_vtable }, { "aes_small_ctr", "small", &br_aes_small_ctr_vtable }, + { "aes_small_ctrcbc", "small", &br_aes_small_ctrcbc_vtable }, { "aes_ct_cbcenc", "ct", &br_aes_ct_cbcenc_vtable }, { "aes_ct_cbcdec", "ct", &br_aes_ct_cbcdec_vtable }, { "aes_ct_ctr", "ct", &br_aes_ct_ctr_vtable }, + { "aes_ct_ctrcbc", "ct", &br_aes_ct_ctrcbc_vtable }, { "aes_ct64_cbcenc", "ct64", &br_aes_ct64_cbcenc_vtable }, { "aes_ct64_cbcdec", "ct64", &br_aes_ct64_cbcdec_vtable }, { "aes_ct64_ctr", "ct64", &br_aes_ct64_ctr_vtable }, + { "aes_ct64_ctrcbc", "ct64", &br_aes_ct64_ctrcbc_vtable }, { "des_tab_cbcenc", "tab", &br_des_tab_cbcenc_vtable }, { "des_tab_cbcdec", "tab", &br_des_tab_cbcdec_vtable }, @@ -406,22 +489,36 @@ static const struct { const char *short_name; const void *(*get)(void); } algo_names_dyn[] = { - { "aes_pwr8_cbcenc", "pwr8", + { "aes_pwr8_cbcenc", "pwr8", (const void *(*)(void))&br_aes_pwr8_cbcenc_get_vtable }, - { "aes_pwr8_cbcdec", "pwr8", + { "aes_pwr8_cbcdec", "pwr8", (const void *(*)(void))&br_aes_pwr8_cbcdec_get_vtable }, - { "aes_pwr8_ctr", "pwr8", + { "aes_pwr8_ctr", "pwr8", (const void *(*)(void))&br_aes_pwr8_ctr_get_vtable }, - { "aes_x86ni_cbcenc", "x86ni", + { "aes_pwr8_ctrcbc", "pwr8", + (const void *(*)(void))&br_aes_pwr8_ctrcbc_get_vtable }, + { "aes_x86ni_cbcenc", "x86ni", (const void *(*)(void))&br_aes_x86ni_cbcenc_get_vtable }, - { "aes_x86ni_cbcdec", "x86ni", + { "aes_x86ni_cbcdec", "x86ni", (const void *(*)(void))&br_aes_x86ni_cbcdec_get_vtable }, - { "aes_x86ni_ctr", "x86ni", + { "aes_x86ni_ctr", "x86ni", (const void *(*)(void))&br_aes_x86ni_ctr_get_vtable }, - { "ghash_pclmul", "pclmul", + { "aes_x86ni_ctrcbc", "x86ni", + (const void *(*)(void))&br_aes_x86ni_ctrcbc_get_vtable }, + { "chacha20_sse2", "sse2", + (const void *(*)(void))&br_chacha20_sse2_get }, + { "ghash_pclmul", "pclmul", (const void *(*)(void))&br_ghash_pclmul_get }, - { "ghash_pwr8", "pwr8", + { "ghash_pwr8", "pwr8", (const void *(*)(void))&br_ghash_pwr8_get }, + { "poly1305_ctmulq", "ctmulq", + (const void *(*)(void))&br_poly1305_ctmulq_get }, + { "rsa_i62_pkcs1_sign", "i62", + (const void *(*)(void))&br_rsa_i62_pkcs1_sign_get }, + { "rsa_i62_pkcs1_vrfy", "i62", + (const void *(*)(void))&br_rsa_i62_pkcs1_vrfy_get }, + { "ec_c25519_m62", "m62", + (const void *(*)(void))&br_ec_c25519_m62_get }, { 0, 0, 0, } }; @@ -565,6 +662,31 @@ list_names(void) } } +/* see brssl.h */ +void +list_curves(void) +{ + size_t u; + for (u = 0; curves[u].name; u ++) { + size_t v; + + for (v = 0; curves[u].sid[v]; v ++) { + if (v == 0) { + printf(" "); + } else if (v == 1) { + printf(" ("); + } else { + printf(", "); + } + printf("%s", curves[u].sid[v]); + } + if (v > 1) { + printf(")"); + } + printf("\n"); + } +} + static int is_ign(int c) { @@ -894,6 +1016,22 @@ ec_curve_name(int curve) } } +/* see brssl.h */ +int +get_curve_by_name(const char *str) +{ + size_t u, v; + + for (u = 0; curves[u].name; u ++) { + for (v = 0; curves[u].sid[v]; v ++) { + if (eqstr(curves[u].sid[v], str)) { + return curves[u].id; + } + } + } + return -1; +} + /* see brssl.h */ const char * hash_function_name(int id)