Skip to content

Commit 5ca332a

Browse files
committed
Avoid clearing out-of-bound bytes when producing secret keys
1 parent 6b6e0ad commit 5ca332a

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

tests/test_sidh.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
int cryptotest_kex()
1919
{ // Testing key exchange
2020
unsigned int i;
21-
unsigned char PrivateKeyA[SIDH_SECRETKEYBYTES], PrivateKeyB[SIDH_SECRETKEYBYTES];
21+
unsigned char PrivateKeyA[SIDH_SECRETKEYBYTES_A], PrivateKeyB[SIDH_SECRETKEYBYTES_B];
2222
unsigned char PublicKeyA[SIDH_PUBLICKEYBYTES], PublicKeyB[SIDH_PUBLICKEYBYTES];
2323
unsigned char SharedSecretA[SIDH_BYTES], SharedSecretB[SIDH_BYTES];
2424
bool passed = true;
@@ -53,14 +53,17 @@ int cryptotest_kex()
5353
int cryptorun_kex()
5454
{ // Benchmarking key exchange
5555
unsigned int n;
56-
unsigned char PrivateKeyA[SIDH_SECRETKEYBYTES], PrivateKeyB[SIDH_SECRETKEYBYTES];
56+
unsigned char PrivateKeyA[SIDH_SECRETKEYBYTES_A], PrivateKeyB[SIDH_SECRETKEYBYTES_B];
5757
unsigned char PublicKeyA[SIDH_PUBLICKEYBYTES], PublicKeyB[SIDH_PUBLICKEYBYTES];
5858
unsigned char SharedSecretA[SIDH_BYTES], SharedSecretB[SIDH_BYTES];
5959
unsigned long long cycles, cycles1, cycles2;
6060

6161
printf("\n\nBENCHMARKING EPHEMERAL ISOGENY-BASED KEY EXCHANGE SYSTEM %s\n", SCHEME_NAME);
6262
printf("--------------------------------------------------------------------------------------------------------\n\n");
6363

64+
random_mod_order_A(PrivateKeyA);
65+
random_mod_order_B(PrivateKeyB);
66+
6467
// Benchmarking Alice's key generation
6568
cycles = 0;
6669
for (n = 0; n < BENCH_LOOPS; n++)

0 commit comments

Comments
 (0)