Browse Source

burn_stack

Karel Miko 8 years ago
parent
commit
ee484a0bc0
1 changed files with 10 additions and 2 deletions
  1. 10 2
      src/ciphers/idea.c

+ 10 - 2
src/ciphers/idea.c

@@ -157,12 +157,20 @@ int idea_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_k
 
 
 int idea_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *skey)
 int idea_ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_key *skey)
 {
 {
-   return _process_block(pt, ct, skey->idea.ek);
+   int err = _process_block(pt, ct, skey->idea.ek);
+#ifdef LTC_CLEAN_STACK
+   burn_stack(sizeof(ushort16) * 6 + sizeof(int));
+#endif
+   return err;
 }
 }
 
 
 int idea_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *skey)
 int idea_ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_key *skey)
 {
 {
-   return _process_block(ct, pt, skey->idea.dk);
+   int err = _process_block(ct, pt, skey->idea.dk);
+#ifdef LTC_CLEAN_STACK
+   burn_stack(sizeof(ushort16) * 6 + sizeof(int));
+#endif
+   return err;
 }
 }
 
 
 void idea_done(symmetric_key *skey)
 void idea_done(symmetric_key *skey)