Home | History | Annotate | Line # | Download | only in default
      1  1.1  riastrad 
      2  1.1  riastrad #define TEST_NAME "pwhash_scrypt_ll"
      3  1.1  riastrad #include "cmptest.h"
      4  1.1  riastrad 
      5  1.1  riastrad static const char *   passwd1 = "";
      6  1.1  riastrad static const char *   salt1   = "";
      7  1.1  riastrad static const uint64_t N1      = 16U;
      8  1.1  riastrad static const uint32_t r1      = 1U;
      9  1.1  riastrad static const uint32_t p1      = 1U;
     10  1.1  riastrad 
     11  1.1  riastrad static const char *   passwd2 = "password";
     12  1.1  riastrad static const char *   salt2   = "NaCl";
     13  1.1  riastrad static const uint64_t N2      = 1024U;
     14  1.1  riastrad static const uint32_t r2      = 8U;
     15  1.1  riastrad static const uint32_t p2      = 16U;
     16  1.1  riastrad 
     17  1.1  riastrad static const char *   passwd3 = "pleaseletmein";
     18  1.1  riastrad static const char *   salt3   = "SodiumChloride";
     19  1.1  riastrad static const uint64_t N3      = 16384U;
     20  1.1  riastrad static const uint32_t r3      = 8U;
     21  1.1  riastrad static const uint32_t p3      = 1U;
     22  1.1  riastrad 
     23  1.1  riastrad static void
     24  1.1  riastrad tv(const char *passwd, const char *salt, uint64_t N, uint32_t r, uint32_t p)
     25  1.1  riastrad {
     26  1.1  riastrad     uint8_t data[64];
     27  1.1  riastrad     size_t  i;
     28  1.1  riastrad     size_t  olen       = (sizeof data / sizeof data[0]);
     29  1.1  riastrad     size_t  passwd_len = strlen(passwd);
     30  1.1  riastrad     size_t  salt_len   = strlen(salt);
     31  1.1  riastrad     int     line_items  = 0;
     32  1.1  riastrad 
     33  1.1  riastrad     if (crypto_pwhash_scryptsalsa208sha256_ll(
     34  1.1  riastrad             (const uint8_t *) passwd, passwd_len, (const uint8_t *) salt,
     35  1.1  riastrad             salt_len, N, r, p, data, olen) != 0) {
     36  1.1  riastrad         printf("pwhash_scryptsalsa208sha256_ll([%s],[%s]) failure\n", passwd,
     37  1.1  riastrad                salt);
     38  1.1  riastrad         return;
     39  1.1  riastrad     }
     40  1.1  riastrad 
     41  1.1  riastrad     printf("scrypt('%s', '%s', %lu, %lu, %lu, %lu) =\n", passwd, salt,
     42  1.1  riastrad            (unsigned long) N, (unsigned long) r, (unsigned long) p,
     43  1.1  riastrad            (unsigned long) olen);
     44  1.1  riastrad 
     45  1.1  riastrad     for (i = 0; i < olen; i++) {
     46  1.1  riastrad         printf("%02x%c", data[i], line_items < 15 ? ' ' : '\n');
     47  1.1  riastrad         line_items = line_items < 15 ? line_items + 1 : 0;
     48  1.1  riastrad     }
     49  1.1  riastrad }
     50  1.1  riastrad 
     51  1.1  riastrad int
     52  1.1  riastrad main(void)
     53  1.1  riastrad {
     54  1.1  riastrad     tv(passwd1, salt1, N1, r1, p1);
     55  1.1  riastrad     tv(passwd2, salt2, N2, r2, p2);
     56  1.1  riastrad     tv(passwd3, salt3, N3, r3, p3);
     57  1.1  riastrad 
     58  1.1  riastrad     return 0;
     59  1.1  riastrad }
     60