diff --git a/nselib/tls.lua b/nselib/tls.lua index 336445dc7..d80bea316 100644 --- a/nselib/tls.lua +++ b/nselib/tls.lua @@ -182,7 +182,7 @@ ELLIPTIC_CURVES = { brainpoolP256r1tls13 = 31, --RFC8734 brainpoolP384r1tls13 = 32, brainpoolP512r1tls13 = 33, - GC256A = 34, -- draft-smyshlyaev-tls12-gost-suites + GC256A = 34, -- RFC9189 GC256B = 35, GC256C = 36, GC256D = 37, @@ -195,6 +195,12 @@ ELLIPTIC_CURVES = { ffdhe4096 = 0x0102, --RFC7919 ffdhe6144 = 0x0103, --RFC7919 ffdhe8192 = 0x0104, --RFC7919 + MLKEM512 = 512, --draft-connolly-tls-mlkem-key-agreement-03 + MLKEM768 = 513, --draft-connolly-tls-mlkem-key-agreement-03 + MLKEM1024 = 514, --draft-connolly-tls-mlkem-key-agreement-03 + SecP256r1MLKEM768 = 4587, --draft-kwiatkowski-tls-ecdhe-mlkem-03 secp256r1 ECDH with ML-KEM-768 + X25519MLKEM768 = 4588, --draft-kwiatkowski-tls-ecdhe-mlkem-03 X25519 ECDH with ML-KEM-768 + SecP384r1MLKEM1024 = 4589, --draft-kwiatkowski-tls-ecdhe-mlkem-03 secp384r1 ECDH with ML-KEM-1024 arbitrary_explicit_prime_curves = 0xFF01, arbitrary_explicit_char2_curves = 0xFF02, } @@ -235,6 +241,8 @@ SignatureAlgorithms = { ecdsa = 3, ed25519 = 7, ed448 = 8, + gostr34102012_256 = 64, + gostr34102012_512 = 65, } --- @@ -301,7 +309,7 @@ EXTENSIONS = { ["client_authz"] = 7, ["server_authz"] = 8, ["cert_type"] = 9, - ["elliptic_curves"] = 10, + ["elliptic_curves"] = 10, -- TLS 1.3 calls this supported_groups ["ec_point_formats"] = 11, ["srp"] = 12, ["signature_algorithms"] = 13, @@ -826,6 +834,8 @@ TLS_AKE_WITH_AES_256_GCM_SHA384 = 0x1302, TLS_AKE_WITH_CHACHA20_POLY1305_SHA256 = 0x1303, TLS_AKE_WITH_AES_128_CCM_SHA256 = 0x1304, TLS_AKE_WITH_AES_128_CCM_8_SHA256 = 0x1305, +TLS_AKE_WITH_AEGIS_256_SHA512 = 0x1306, -- draft-irtf-cfrg-aegis-aead-08 +TLS_AKE_WITH_AEGIS_128L_SHA256 = 0x1307, -- draft-irtf-cfrg-aegis-aead-08 TLS_AKE_WITH_SM4_GCM_SM3 = 0x00C6, -- RFC 8998 TLS_AKE_WITH_SM4_CCM_SM3 = 0x00C7, -- RFC 8998 } @@ -1292,6 +1302,8 @@ local algorithms = { ARIA = {b=128}, AES = {b=128}, SM4 = {s=128, b=128}, + AEGIS_256 = {s=256, b=128}, + AEGIS_128L = {s=128, b=256}, } --- Get info about a cipher suite -- @@ -1335,6 +1347,9 @@ function cipher_info (c) info.cipher = t if t == "3DES" then i = i + 1 -- 3DES_EDE + elseif t == "AEGIS" then + i = i + 1 + t = ("%s_%s"):format(t, tokens[i]) end -- key size