Skip to content

Commit cb7d06a

Browse files
committed
Optimize code
1 parent 25d8d32 commit cb7d06a

File tree

18 files changed

+1083
-1075
lines changed

18 files changed

+1083
-1075
lines changed

kem/ntruprime/kat_test.go

+15-9
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,21 @@ func TestPQCgenStreamlinedKATKem(t *testing.T) {
1515
kats := []struct {
1616
name string
1717
want string
18+
p int
1819
}{
1920
// Computed from reference implementation
20-
{"sntrup653", "82249a46c1bc538e980a2335764c81f70701e6374eed3e1d0457e18c57ec2cee64280dcc75504c2648eb3e37ab3eee37955c1114d851f755a28cc997aba781c8"},
21-
{"sntrup761", "1a687f42261c47fe4421b35c5d9faf035433fcb2101458680c66c8d54caafec5fb767ea7725d6681ab100912ef06c38d88862a5d2d86786af2989b7dad33813a"},
22-
{"sntrup857", "79473d6c709dbbc99528886bf2c1d033c409dab1755299154f33232bc57ba1fbe91322fcb741df5252d575a77aa5ca000d52a44c17f1ab64a299884d0f101519"},
23-
{"sntrup953", "6fe0cf3b8cb62a3011c1870ec9eb3cd8825c06993a213e01ecd0f21f5dee670838fe1c89dd120086a09e8227496a00e22188c8f947618a35764c5a24726ce16c"},
24-
{"sntrup1013", "195a38eb843fdda53241f65b641ab925f61fb1cf5b0fffcb5891115da121a85174a796d69c75b86c4e92193453155aef9d27ce53aa268076617be55ee6f5da4f"},
25-
{"sntrup1277", "ada8a0cbe6b077dc563874fd372f60779bbee1524f576c2931cf9c804163b9632163610d6e380f889170cdf4d9928de0782368a43413f2b6976897ba0e19a828"},
21+
{"sntrup653", "82249a46c1bc538e980a2335764c81f70701e6374eed3e1d0457e18c57ec2cee64280dcc75504c2648eb3e37ab3eee37955c1114d851f755a28cc997aba781c8", 653},
22+
{"sntrup761", "1a687f42261c47fe4421b35c5d9faf035433fcb2101458680c66c8d54caafec5fb767ea7725d6681ab100912ef06c38d88862a5d2d86786af2989b7dad33813a", 761},
23+
{"sntrup857", "79473d6c709dbbc99528886bf2c1d033c409dab1755299154f33232bc57ba1fbe91322fcb741df5252d575a77aa5ca000d52a44c17f1ab64a299884d0f101519", 857},
24+
{"sntrup953", "6fe0cf3b8cb62a3011c1870ec9eb3cd8825c06993a213e01ecd0f21f5dee670838fe1c89dd120086a09e8227496a00e22188c8f947618a35764c5a24726ce16c", 953},
25+
{"sntrup1013", "195a38eb843fdda53241f65b641ab925f61fb1cf5b0fffcb5891115da121a85174a796d69c75b86c4e92193453155aef9d27ce53aa268076617be55ee6f5da4f", 1013},
26+
{"sntrup1277", "ada8a0cbe6b077dc563874fd372f60779bbee1524f576c2931cf9c804163b9632163610d6e380f889170cdf4d9928de0782368a43413f2b6976897ba0e19a828", 1277},
2627
}
2728

2829
for _, kat := range kats {
2930
kat := kat
3031
t.Run(kat.name, func(t *testing.T) {
31-
testPQCgenStreamlinedKATKem(t, kat.name, kat.want)
32+
testPQCgenStreamlinedKATKem(t, kat.name, kat.want, kat.p)
3233
})
3334
}
3435
}
@@ -115,13 +116,14 @@ func testPQCgenLPRKATKem(t *testing.T, name, expected string, p int) {
115116
}
116117
}
117118

118-
func testPQCgenStreamlinedKATKem(t *testing.T, name, expected string) {
119+
func testPQCgenStreamlinedKATKem(t *testing.T, name, expected string, p int) {
119120
scheme := sntrupSchemes.ByName(name)
120121
if scheme == nil {
121122
t.Fatal()
122123
}
123124

124125
var seed [48]byte
126+
eseed := make([]byte, scheme.EncapsulationSeedSize())
125127

126128
for i := 0; i < 48; i++ {
127129
seed[i] = byte(i)
@@ -143,7 +145,11 @@ func testPQCgenStreamlinedKATKem(t *testing.T, name, expected string) {
143145
ppk, _ := pk.MarshalBinary()
144146
psk, _ := sk.MarshalBinary()
145147

146-
ct, ss1, _ := scheme.EncapsulateDeterministicallyFromGen(pk, &g2)
148+
for i := 0; i < p; i++ {
149+
g2.Fill(eseed[4*i : 4*i+4])
150+
}
151+
ct, ss1, _ := scheme.EncapsulateDeterministically(pk, eseed)
152+
147153
ss2, _ := scheme.Decapsulate(sk, ct)
148154
if !bytes.Equal(ss1, ss2) {
149155
t.Fatal()

kem/ntruprime/ntrulpr1013/ntruprime.go

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

0 commit comments

Comments
 (0)