From 7f4f99d1890cc551f94e684d90b6aef83a584657 Mon Sep 17 00:00:00 2001 From: David Stainton Date: Sat, 30 Nov 2024 23:51:02 -0800 Subject: [PATCH] Add a bunch of classic mc eliece hybrids with x25519 --- kem/schemes/schemes.go | 72 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/kem/schemes/schemes.go b/kem/schemes/schemes.go index 0c8548f..218172e 100644 --- a/kem/schemes/schemes.go +++ b/kem/schemes/schemes.go @@ -114,6 +114,78 @@ var allSchemes = []kem.Scheme{ mlkem768.Scheme(), }, ), + + // all the Classic McEliece's from our fork of circl + combiner.New( + "mceliece348864-X25519", + []kem.Scheme{ + adapter.FromNIKE(x25519.Scheme(rand.Reader)), + mceliece348864.Scheme(), + }, + ), + combiner.New( + "mceliece348864f-X25519", + []kem.Scheme{ + adapter.FromNIKE(x25519.Scheme(rand.Reader)), + mceliece348864f.Scheme(), + }, + ), + combiner.New( + "mceliece460896-X25519", + []kem.Scheme{ + adapter.FromNIKE(x25519.Scheme(rand.Reader)), + mceliece460896.Scheme(), + }, + ), + combiner.New( + "mceliece460896f-X25519", + []kem.Scheme{ + adapter.FromNIKE(x25519.Scheme(rand.Reader)), + mceliece460896f.Scheme(), + }, + ), + combiner.New( + "mceliece6688128-X25519", + []kem.Scheme{ + adapter.FromNIKE(x25519.Scheme(rand.Reader)), + mceliece6688128.Scheme(), + }, + ), + combiner.New( + "mceliece6688128f-X25519", + []kem.Scheme{ + adapter.FromNIKE(x25519.Scheme(rand.Reader)), + mceliece6688128f.Scheme(), + }, + ), + combiner.New( + "mceliece6960119-X25519", + []kem.Scheme{ + adapter.FromNIKE(x25519.Scheme(rand.Reader)), + mceliece6960119.Scheme(), + }, + ), + combiner.New( + "mceliece6960119f-X25519", + []kem.Scheme{ + adapter.FromNIKE(x25519.Scheme(rand.Reader)), + mceliece6960119f.Scheme(), + }, + ), + combiner.New( + "mceliece8192128-X25519", + []kem.Scheme{ + adapter.FromNIKE(x25519.Scheme(rand.Reader)), + mceliece8192128.Scheme(), + }, + ), + combiner.New( + "mceliece8192128f-X25519", + []kem.Scheme{ + adapter.FromNIKE(x25519.Scheme(rand.Reader)), + mceliece8192128f.Scheme(), + }, + ), } var allSchemeNames map[string]kem.Scheme