From: Chris Duncan Date: Sat, 19 Sep 2026 05:49:00 +0000 (-0700) Subject: Reset buffers after [s]B. X-Git-Url: https://git.codecow.com/?a=commitdiff_plain;h=969121081e6f9842aa6b95a46fc955e7e91d7911;p=nano25519.git Reset buffers after [s]B. --- diff --git a/src/assembly/ge.ts b/src/assembly/ge.ts index 128d873..dcbd51d 100644 --- a/src/assembly/ge.ts +++ b/src/assembly/ge.ts @@ -20,7 +20,7 @@ import { base } from './base' import { base2 } from './base2' import { ed25519_d, fe_sqrtm1 } from './constants' import { FieldElement, fe, fe_1, fe_add, fe_cmov, fe_frombytes, fe_isnegative, fe_iszero, fe_memcmov, fe_memcopy, fe_memneg, fe_mul, fe_neg, fe_pow22523, fe_sq, fe_sub } from './fe' -import { ge_add_cached, ge_add_precomp, ge_cached, ge_p1p1, ge_p1p1_to_p2, ge_p1p1_to_p3, ge_p2, ge_p2_0, ge_p2_dbl, ge_p2_to_p3, ge_p3, ge_p3_0, ge_p3_dbl, ge_p3_to_cached, ge_p3_tobytes, ge_precomp, ge_precomp_0, ge_sub_cached, ge_sub_precomp } from './p' +import { ge_add_cached, ge_add_precomp, ge_cached, ge_p1p1, ge_p1p1_0, ge_p1p1_to_p2, ge_p1p1_to_p3, ge_p2, ge_p2_0, ge_p2_dbl, ge_p2_to_p3, ge_p3, ge_p3_0, ge_p3_dbl, ge_p3_to_cached, ge_p3_tobytes, ge_precomp, ge_precomp_0, ge_sub_cached, ge_sub_precomp } from './p' import { equal, negative } from './utils' //@ts-expect-error @@ -246,6 +246,12 @@ function ge_scalarmult_base (h: ge_p3, a: StaticArray): void { ge_add_precomp(r, h, t) ge_p1p1_to_p3(h, r) } + + // clear sensitive data + e.fill(0) + ge_p1p1_0(r) + ge_p2_0(s) + ge_precomp_0(t) } const ge_scalarmult_base_tobytes_h: ge_p3 = new ge_p3()