]> WPIA git - gigi.git/blobdiff - lib/scrypt/com/lambdaworks/crypto/SCrypt.java
Guard division by zero in SCrypt verification.
[gigi.git] / lib / scrypt / com / lambdaworks / crypto / SCrypt.java
index 9b2129738730f6e01676a7c89327616ae2d5e8fa..f2e97897bfa8860efed87891c083c319a3d553f9 100644 (file)
@@ -103,6 +103,12 @@ public class SCrypt {
         if (N < 2 || (N & (N - 1)) != 0) {
             throw new IllegalArgumentException("N must be a power of 2 greater than 1");
         }
         if (N < 2 || (N & (N - 1)) != 0) {
             throw new IllegalArgumentException("N must be a power of 2 greater than 1");
         }
+        if (r <= 0) {
+            throw new IllegalArgumentException("Parameter r zero or negative");
+        }
+        if (p <= 0) {
+            throw new IllegalArgumentException("Parameter p zero or negative");
+        }
 
         if (N > MAX_VALUE / 128 / r) {
             throw new IllegalArgumentException("Parameter N is too large");
 
         if (N > MAX_VALUE / 128 / r) {
             throw new IllegalArgumentException("Parameter N is too large");