Skip to content

Commit 514916b

Browse files
committed
implement mceliece6960119
1 parent f5de4db commit 514916b

File tree

19 files changed

+1568
-336
lines changed

19 files changed

+1568
-336
lines changed

kem/mceliece/gen.go

+10
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,14 @@ var (
8080
SysN: 6688,
8181
SysT: 128,
8282
}
83+
McElieceParam6960119 = Param{
84+
Gf: "gf8192",
85+
PublicKeySize: 1047319,
86+
PrivateKeySize: 13948,
87+
CiphertextSize: 226,
88+
SysN: 6960,
89+
SysT: 119,
90+
}
8391
McElieceParam8192128 = Param{
8492
Gf: "gf8192",
8593
PublicKeySize: 1357824,
@@ -95,6 +103,7 @@ var (
95103
{Name: "mceliece460896f", Param: McElieceParam460896},
96104
{Name: "mceliece6688128", Param: McElieceParam6688128},
97105
{Name: "mceliece6688128f", Param: McElieceParam6688128},
106+
{Name: "mceliece6960119", Param: McElieceParam6960119},
98107
{Name: "mceliece8192128", Param: McElieceParam8192128},
99108
{Name: "mceliece8192128f", Param: McElieceParam8192128},
100109
}
@@ -105,6 +114,7 @@ var (
105114
func main() {
106115
generateTemplateFilesIf("templates/benes_348864.templ.go", "benes", func(m Instance) bool { return m.Is348864() })
107116
generateTemplateFilesIf("templates/benes_other.templ.go", "benes", func(m Instance) bool { return !m.Is348864() })
117+
generateTemplateFilesIf("templates/operations_6960119.templ.go", "operations", func(m Instance) bool { return m.Is6960119() })
108118
generateTemplateFiles("templates/mceliece.templ.go", "mceliece")
109119
generateTemplateFiles("templates/pk_gen.templ.go", "pk_gen")
110120
}

kem/mceliece/kat_test.go

+11-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"testing"
1111

1212
"github.com/cloudflare/circl/internal/nist"
13+
"github.com/cloudflare/circl/internal/test"
1314
"github.com/cloudflare/circl/kem/schemes"
1415
)
1516

@@ -25,6 +26,7 @@ func TestPQCgenKATKem(t *testing.T) {
2526
{"mceliece460896f", "c7feca45bbeeaa6c3969f1344f8cfff3e6b09b5c7c642ff5d76f51cfbf8ddd90"},
2627
{"mceliece6688128", "ed7e195667f6d56f0ec33917edf5bdb2902b61f50761ca2ef17be2721365fb9a"},
2728
{"mceliece6688128f", "fa3e762d466b1f39850c2b543dc3d38714c28ecc096d5ba2fa07a9d8ac6910b1"},
29+
{"mceliece6960119", "99dbab3fe1bed15c6707888d6cac01f3f7fe35302536e6403975f6044059df29"},
2830
{"mceliece8192128", "1208af7d036c256eb0d373e237a0b74c2aae22e9724c2d230c6f1072ebab20c0"},
2931
{"mceliece8192128f", "66566cb42f443adf8c60d2f9ec8551996746819874cd4bb7fd85701bbe8f73b1"},
3032
}
@@ -66,10 +68,16 @@ func testPQCgenKATKem(t *testing.T, name, expected string) {
6668
pk, sk := scheme.DeriveKeyPair(kseed)
6769
ppk, _ := pk.MarshalBinary()
6870
psk, _ := sk.MarshalBinary()
69-
ct, ss, _ := scheme.EncapsulateDeterministically(pk, seed[:])
70-
ss2, _ := scheme.Decapsulate(sk, ct)
71+
ct, ss, err := scheme.EncapsulateDeterministically(pk, seed[:])
72+
if err != nil {
73+
t.Fatal(err)
74+
}
75+
ss2, err := scheme.Decapsulate(sk, ct)
76+
if err != nil {
77+
t.Fatal(err)
78+
}
7179
if !bytes.Equal(ss, ss2) {
72-
t.Fatal()
80+
test.ReportError(t, fmt.Sprintf("%X", ss2), fmt.Sprintf("%X", ss))
7381
}
7482
fmt.Fprintf(f, "pk = %X\n", ppk)
7583
fmt.Fprintf(f, "sk = %X\n", psk)

kem/mceliece/mceliece348864/mceliece.go

+37-37
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

kem/mceliece/mceliece348864f/mceliece.go

+37-37
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

kem/mceliece/mceliece460896/mceliece.go

+37-37
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)