fix: initiate ssptr before use

This commit is contained in:
2024-08-27 17:22:08 +02:00
parent 52b2471284
commit 50d839e23e

View File

@@ -48,7 +48,7 @@ inline fn generate_keypair(reg u64 shared_mem sync_mem private_mem, stack u64 ke
return key_id; return key_id;
} }
inline fn encapsulate(reg u64 shared_mem sync_mem private_mem) { inline fn encapsulate(reg u64 shared_mem sync_mem) {
inline int i; inline int i;
reg u64 ssptr ctptr pkptr flag num_bytes; reg u64 ssptr ctptr pkptr flag num_bytes;
stack u8[KYBER_SYMBYTES] coins; stack u8[KYBER_SYMBYTES] coins;
@@ -58,14 +58,14 @@ inline fn encapsulate(reg u64 shared_mem sync_mem private_mem) {
coins, num_bytes = #randombytes(coins, flag); coins, num_bytes = #randombytes(coins, flag);
} (num_bytes != KYBER_SYMBYTES) } (num_bytes != KYBER_SYMBYTES)
for i=0 to KYBER_SYMBYTES/8 {
(u64)[ssptr + i * 8] = coins[u64 i];
}
ctptr = extract_nth_ptr(sync_mem, shared_mem, 0); ctptr = extract_nth_ptr(sync_mem, shared_mem, 0);
ssptr = extract_nth_ptr(sync_mem, shared_mem, 1); ssptr = extract_nth_ptr(sync_mem, shared_mem, 1);
pkptr = extract_nth_ptr(sync_mem, shared_mem, 2); pkptr = extract_nth_ptr(sync_mem, shared_mem, 2);
for i=0 to KYBER_SYMBYTES/8 {
(u64)[ssptr + i * 8] = coins[u64 i];
}
jade_kem_kyber_kyber768_amd64_avx2_enc_derand(ctptr, ssptr, pkptr, ssptr); jade_kem_kyber_kyber768_amd64_avx2_enc_derand(ctptr, ssptr, pkptr, ssptr);
} }
@@ -113,7 +113,7 @@ export fn agent_start(reg u64 shared_mem sync_mem private_mem_fd) {
key_id = generate_keypair(shared_mem, sync_mem, private_mem, key_id); key_id = generate_keypair(shared_mem, sync_mem, private_mem, key_id);
} else { } else {
if (id == 1) { if (id == 1) {
encapsulate(shared_mem, sync_mem, private_mem); encapsulate(shared_mem, sync_mem);
} else { } else {
if (id == 2) { if (id == 2) {
} }