1*cd192fa9SAndroid Build Coastguard Workerdiff --git a/lib/crypto/crypto_scrypt-ref.c b/lib/crypto/crypto_scrypt-ref.c 2*cd192fa9SAndroid Build Coastguard Workerindex 79a6f8f..60ef2aa 100644 3*cd192fa9SAndroid Build Coastguard Worker--- a/lib/crypto/crypto_scrypt-ref.c 4*cd192fa9SAndroid Build Coastguard Worker+++ b/lib/crypto/crypto_scrypt-ref.c 5*cd192fa9SAndroid Build Coastguard Worker@@ -34,7 +34,11 @@ 6*cd192fa9SAndroid Build Coastguard Worker #include <stdlib.h> 7*cd192fa9SAndroid Build Coastguard Worker #include <string.h> 8*cd192fa9SAndroid Build Coastguard Worker 9*cd192fa9SAndroid Build Coastguard Worker+#ifdef USE_OPENSSL_PBKDF2 10*cd192fa9SAndroid Build Coastguard Worker+#include <openssl/evp.h> 11*cd192fa9SAndroid Build Coastguard Worker+#else 12*cd192fa9SAndroid Build Coastguard Worker #include "sha256.h" 13*cd192fa9SAndroid Build Coastguard Worker+#endif 14*cd192fa9SAndroid Build Coastguard Worker #include "sysendian.h" 15*cd192fa9SAndroid Build Coastguard Worker 16*cd192fa9SAndroid Build Coastguard Worker #include "crypto_scrypt.h" 17*cd192fa9SAndroid Build Coastguard Worker@@ -256,7 +260,11 @@ crypto_scrypt(const uint8_t * passwd, size_t passwdlen, 18*cd192fa9SAndroid Build Coastguard Worker goto err2; 19*cd192fa9SAndroid Build Coastguard Worker 20*cd192fa9SAndroid Build Coastguard Worker /* 1: (B_0 ... B_{p-1}) <-- PBKDF2(P, S, 1, p * MFLen) */ 21*cd192fa9SAndroid Build Coastguard Worker+#ifdef USE_OPENSSL_PBKDF2 22*cd192fa9SAndroid Build Coastguard Worker+ PKCS5_PBKDF2_HMAC((const char *)passwd, passwdlen, salt, saltlen, 1, EVP_sha256(), p * 128 * r, B); 23*cd192fa9SAndroid Build Coastguard Worker+#else 24*cd192fa9SAndroid Build Coastguard Worker PBKDF2_SHA256(passwd, passwdlen, salt, saltlen, 1, B, p * 128 * r); 25*cd192fa9SAndroid Build Coastguard Worker+#endif 26*cd192fa9SAndroid Build Coastguard Worker 27*cd192fa9SAndroid Build Coastguard Worker /* 2: for i = 0 to p - 1 do */ 28*cd192fa9SAndroid Build Coastguard Worker for (i = 0; i < p; i++) { 29*cd192fa9SAndroid Build Coastguard Worker@@ -265,7 +273,11 @@ crypto_scrypt(const uint8_t * passwd, size_t passwdlen, 30*cd192fa9SAndroid Build Coastguard Worker } 31*cd192fa9SAndroid Build Coastguard Worker 32*cd192fa9SAndroid Build Coastguard Worker /* 5: DK <-- PBKDF2(P, B, 1, dkLen) */ 33*cd192fa9SAndroid Build Coastguard Worker+#ifdef USE_OPENSSL_PBKDF2 34*cd192fa9SAndroid Build Coastguard Worker+ PKCS5_PBKDF2_HMAC((const char *)passwd, passwdlen, B, p * 128 * r, 1, EVP_sha256(), buflen, buf); 35*cd192fa9SAndroid Build Coastguard Worker+#else 36*cd192fa9SAndroid Build Coastguard Worker PBKDF2_SHA256(passwd, passwdlen, B, p * 128 * r, 1, buf, buflen); 37*cd192fa9SAndroid Build Coastguard Worker+#endif 38*cd192fa9SAndroid Build Coastguard Worker 39*cd192fa9SAndroid Build Coastguard Worker /* Free memory. */ 40*cd192fa9SAndroid Build Coastguard Worker free(V); 41*cd192fa9SAndroid Build Coastguard Workerdiff --git a/lib/crypto/crypto_scrypt-sse.c b/lib/crypto/crypto_scrypt-sse.c 42*cd192fa9SAndroid Build Coastguard Workerindex 875175e..dd18f29 100644 43*cd192fa9SAndroid Build Coastguard Worker--- a/lib/crypto/crypto_scrypt-sse.c 44*cd192fa9SAndroid Build Coastguard Worker+++ b/lib/crypto/crypto_scrypt-sse.c 45*cd192fa9SAndroid Build Coastguard Worker@@ -37,7 +37,11 @@ 46*cd192fa9SAndroid Build Coastguard Worker #include <stdlib.h> 47*cd192fa9SAndroid Build Coastguard Worker #include <string.h> 48*cd192fa9SAndroid Build Coastguard Worker 49*cd192fa9SAndroid Build Coastguard Worker+#ifdef USE_OPENSSL_PBKDF2 50*cd192fa9SAndroid Build Coastguard Worker+#include <openssl/evp.h> 51*cd192fa9SAndroid Build Coastguard Worker+#else 52*cd192fa9SAndroid Build Coastguard Worker #include "sha256.h" 53*cd192fa9SAndroid Build Coastguard Worker+#endif 54*cd192fa9SAndroid Build Coastguard Worker #include "sysendian.h" 55*cd192fa9SAndroid Build Coastguard Worker 56*cd192fa9SAndroid Build Coastguard Worker #include "crypto_scrypt.h" 57*cd192fa9SAndroid Build Coastguard Worker@@ -332,7 +336,11 @@ crypto_scrypt(const uint8_t * passwd, size_t passwdlen, 58*cd192fa9SAndroid Build Coastguard Worker #endif 59*cd192fa9SAndroid Build Coastguard Worker 60*cd192fa9SAndroid Build Coastguard Worker /* 1: (B_0 ... B_{p-1}) <-- PBKDF2(P, S, 1, p * MFLen) */ 61*cd192fa9SAndroid Build Coastguard Worker+#ifdef USE_OPENSSL_PBKDF2 62*cd192fa9SAndroid Build Coastguard Worker+ PKCS5_PBKDF2_HMAC((const char *)passwd, passwdlen, salt, saltlen, 1, EVP_sha256(), p * 128 * r, B); 63*cd192fa9SAndroid Build Coastguard Worker+#else 64*cd192fa9SAndroid Build Coastguard Worker PBKDF2_SHA256(passwd, passwdlen, salt, saltlen, 1, B, p * 128 * r); 65*cd192fa9SAndroid Build Coastguard Worker+#endif 66*cd192fa9SAndroid Build Coastguard Worker 67*cd192fa9SAndroid Build Coastguard Worker /* 2: for i = 0 to p - 1 do */ 68*cd192fa9SAndroid Build Coastguard Worker for (i = 0; i < p; i++) { 69*cd192fa9SAndroid Build Coastguard Worker@@ -341,7 +349,11 @@ crypto_scrypt(const uint8_t * passwd, size_t passwdlen, 70*cd192fa9SAndroid Build Coastguard Worker } 71*cd192fa9SAndroid Build Coastguard Worker 72*cd192fa9SAndroid Build Coastguard Worker /* 5: DK <-- PBKDF2(P, B, 1, dkLen) */ 73*cd192fa9SAndroid Build Coastguard Worker+#ifdef USE_OPENSSL_PBKDF2 74*cd192fa9SAndroid Build Coastguard Worker+ PKCS5_PBKDF2_HMAC((const char *)passwd, passwdlen, B, p * 128 * r, 1, EVP_sha256(), buflen, buf); 75*cd192fa9SAndroid Build Coastguard Worker+#else 76*cd192fa9SAndroid Build Coastguard Worker PBKDF2_SHA256(passwd, passwdlen, B, p * 128 * r, 1, buf, buflen); 77*cd192fa9SAndroid Build Coastguard Worker+#endif 78*cd192fa9SAndroid Build Coastguard Worker 79*cd192fa9SAndroid Build Coastguard Worker /* Free memory. */ 80*cd192fa9SAndroid Build Coastguard Worker #ifdef MAP_ANON 81