Add scrypt library and scrypt support to auth
[blerg.git] / builddeps / scrypt-1.1.6 / FORMAT
diff --git a/builddeps/scrypt-1.1.6/FORMAT b/builddeps/scrypt-1.1.6/FORMAT
new file mode 100644 (file)
index 0000000..10f699d
--- /dev/null
@@ -0,0 +1,18 @@
+scrypt encrypted data format
+----------------------------
+
+offset length
+0      6       "scrypt"
+6      1       scrypt data file version number (== 0)
+7      1       log2(N) (must be between 1 and 63 inclusive)
+8      4       r (big-endian integer; must satisfy r * p < 2^30)
+12     4       p (big-endian integer; must satisfy r * p < 2^30)
+16     32      salt
+48     16      first 16 bytes of SHA256(bytes 0 .. 47)
+64     32      HMAC-SHA256(bytes 0 .. 63)
+96     X       data xor AES256-CTR key stream generated with nonce == 0
+96+X   32      HMAC-SHA256(bytes 96 .. 96 + (X - 1))
+
+AES256-CTR is computed with a 256-bit AES key key_enc, and HMAC-SHA256 is
+computed with a 256-bit key key_hmac, where
+  scrypt(password, salt, N, r, p, 64) == [key_enc][key_hmac]