Wipe BLISS private key memory

This commit is contained in:
Andreas Steffen
2014-11-29 14:51:17 +01:00
parent b352ee4266
commit bf749fa1fb
@@ -382,10 +382,12 @@ end:
sig->destroy(sig); sig->destroy(sig);
fft->destroy(fft); fft->destroy(fft);
rng->destroy(rng); rng->destroy(rng);
free(ay); memwipe(s1c, n * sizeof(int32_t));
free(z2); memwipe(s2c, n * sizeof(int32_t));
free(s1c); free(s1c);
free(s2c); free(s2c);
free(ay);
free(z2);
free(u); free(u);
free(uz2d); free(uz2d);
@@ -505,6 +507,8 @@ METHOD(private_key_t, destroy, void,
if (ref_put(&this->ref)) if (ref_put(&this->ref))
{ {
lib->encoding->clear_cache(lib->encoding, this); lib->encoding->clear_cache(lib->encoding, this);
memwipe(this->s1, this->set->n * sizeof(int8_t));
memwipe(this->s2, this->set->n * sizeof(int8_t));
free(this->s1); free(this->s1);
free(this->s2); free(this->s2);
free(this->A); free(this->A);
@@ -931,6 +935,8 @@ bliss_private_key_t *bliss_private_key_gen(key_type_t type, va_list args)
/* Cleanup */ /* Cleanup */
fft->destroy(fft); fft->destroy(fft);
rng->destroy(rng); rng->destroy(rng);
memwipe(S1, n * sizeof(uint32_t));
memwipe(S2, n * sizeof(uint32_t));
free(S1); free(S1);
free(S2); free(S2);
free(a); free(a);