diff --git a/cfkem.go b/cfkem.go index 8d440e4c..3e14dc51 100644 --- a/cfkem.go +++ b/cfkem.go @@ -41,6 +41,7 @@ var ( X25519Kyber768Draft00 = CurveID(0x6399) X25519Kyber768Draft00Old = CurveID(0xfe31) P256Kyber768Draft00 = CurveID(0xfe32) + X25519MLKEM768 = CurveID(0x11ec) invalidCurveID = CurveID(0) ) @@ -69,6 +70,8 @@ func curveIdToCirclScheme(id CurveID) kem.Scheme { return hybrid.Kyber768X25519() case P256Kyber768Draft00: return hybrid.P256Kyber768Draft00() + case X25519MLKEM768: + return hybrid.X25519MLKEM768() } return nil } diff --git a/cfkem_test.go b/cfkem_test.go index 7043d5f0..8363fc96 100644 --- a/cfkem_test.go +++ b/cfkem_test.go @@ -96,6 +96,7 @@ func TestHybridKEX(t *testing.T) { X25519Kyber768Draft00, X25519Kyber768Draft00Old, P256Kyber768Draft00, + X25519MLKEM768, } { run(curveID, true, true, false, false) run(curveID, true, false, false, false) diff --git a/go.mod b/go.mod index 28c7c2ea..fa89d374 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/Noooste/utls -go 1.21 +go 1.22.0 retract ( v1.4.1 // #218 @@ -9,7 +9,7 @@ retract ( require ( github.com/andybalholm/brotli v1.0.6 - github.com/cloudflare/circl v1.3.7 + github.com/cloudflare/circl v1.5.0 github.com/klauspost/compress v1.17.4 golang.org/x/crypto v0.21.0 golang.org/x/net v0.23.0 diff --git a/go.sum b/go.sum index 231edae6..eaedf801 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,8 @@ github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sx github.com/andybalholm/brotli v1.0.6/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= +github.com/cloudflare/circl v1.5.0 h1:hxIWksrX6XN5a1L2TI/h53AGPhNHoUBo+TD1ms9+pys= +github.com/cloudflare/circl v1.5.0/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4= github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=