Pārlūkot izejas kodu

Merge pull request #493 from jbech-linaro/rijndael_range

check range in _rijndael_ecb_ functions
Steffen Jaeckel 6 gadi atpakaļ
vecāks
revīzija
a1f6312416
1 mainītis faili ar 8 papildinājumiem un 0 dzēšanām
  1. 8 0
      src/ciphers/aes/aes.c

+ 8 - 0
src/ciphers/aes/aes.c

@@ -295,6 +295,10 @@ int ECB_ENC(const unsigned char *pt, unsigned char *ct, const symmetric_key *ske
     LTC_ARGCHK(skey != NULL);
 
     Nr = skey->rijndael.Nr;
+
+    if (Nr < 2 || Nr > 16)
+        return CRYPT_INVALID_ROUNDS;
+
     rk = skey->rijndael.eK;
 
     /*
@@ -475,6 +479,10 @@ int ECB_DEC(const unsigned char *ct, unsigned char *pt, const symmetric_key *ske
     LTC_ARGCHK(skey != NULL);
 
     Nr = skey->rijndael.Nr;
+
+    if (Nr < 2 || Nr > 16)
+        return CRYPT_INVALID_ROUNDS;
+
     rk = skey->rijndael.dK;
 
     /*