Add support for SHA-224

This commit is contained in:
Gabriele Gristina
2016-12-16 02:05:12 +01:00
parent 72599fd109
commit 8b0764bc4d
8 changed files with 1531 additions and 51 deletions

View File

@@ -738,6 +738,8 @@ typedef enum display_len
DISPLAY_LEN_MAX_1100 = 32 + 1 + 19,
DISPLAY_LEN_MIN_1100H = 32 + 1 + 0,
DISPLAY_LEN_MAX_1100H = 32 + 1 + 38,
DISPLAY_LEN_MIN_1300 = 56,
DISPLAY_LEN_MAX_1300 = 56,
DISPLAY_LEN_MIN_1400 = 64,
DISPLAY_LEN_MAX_1400 = 64,
DISPLAY_LEN_MIN_1410 = 64 + 1 + 0,
@@ -1064,55 +1066,56 @@ typedef enum hash_type
HASH_TYPE_MD5 = 2,
HASH_TYPE_MD5H = 3,
HASH_TYPE_SHA1 = 4,
HASH_TYPE_SHA256 = 5,
HASH_TYPE_SHA384 = 6,
HASH_TYPE_SHA512 = 7,
HASH_TYPE_DCC2 = 8,
HASH_TYPE_WPA = 9,
HASH_TYPE_LM = 10,
HASH_TYPE_DESCRYPT = 11,
HASH_TYPE_ORACLEH = 12,
HASH_TYPE_DESRACF = 13,
HASH_TYPE_BCRYPT = 14,
HASH_TYPE_KECCAK = 15,
HASH_TYPE_NETNTLM = 16,
HASH_TYPE_RIPEMD160 = 17,
HASH_TYPE_WHIRLPOOL = 18,
HASH_TYPE_AES = 19,
HASH_TYPE_GOST = 20,
HASH_TYPE_KRB5PA = 21,
HASH_TYPE_SAPB = 22,
HASH_TYPE_SAPG = 23,
HASH_TYPE_MYSQL = 24,
HASH_TYPE_LOTUS5 = 25,
HASH_TYPE_LOTUS6 = 26,
HASH_TYPE_ANDROIDFDE = 27,
HASH_TYPE_SCRYPT = 28,
HASH_TYPE_LOTUS8 = 29,
HASH_TYPE_OFFICE2007 = 30,
HASH_TYPE_OFFICE2010 = 31,
HASH_TYPE_OFFICE2013 = 32,
HASH_TYPE_OLDOFFICE01 = 33,
HASH_TYPE_OLDOFFICE34 = 34,
HASH_TYPE_SIPHASH = 35,
HASH_TYPE_PDFU16 = 36,
HASH_TYPE_PDFU32 = 37,
HASH_TYPE_PBKDF2_SHA256 = 38,
HASH_TYPE_BITCOIN_WALLET = 39,
HASH_TYPE_CRC32 = 40,
HASH_TYPE_GOST_2012SBOG_256 = 41,
HASH_TYPE_GOST_2012SBOG_512 = 42,
HASH_TYPE_PBKDF2_MD5 = 43,
HASH_TYPE_PBKDF2_SHA1 = 44,
HASH_TYPE_PBKDF2_SHA512 = 45,
HASH_TYPE_ECRYPTFS = 46,
HASH_TYPE_ORACLET = 47,
HASH_TYPE_BSDICRYPT = 48,
HASH_TYPE_RAR3HP = 49,
HASH_TYPE_KRB5TGS = 50,
HASH_TYPE_STDOUT = 51,
HASH_TYPE_DES = 52,
HASH_TYPE_PLAINTEXT = 53,
HASH_TYPE_SHA224 = 5,
HASH_TYPE_SHA256 = 6,
HASH_TYPE_SHA384 = 7,
HASH_TYPE_SHA512 = 8,
HASH_TYPE_DCC2 = 9,
HASH_TYPE_WPA = 10,
HASH_TYPE_LM = 11,
HASH_TYPE_DESCRYPT = 12,
HASH_TYPE_ORACLEH = 13,
HASH_TYPE_DESRACF = 14,
HASH_TYPE_BCRYPT = 15,
HASH_TYPE_KECCAK = 16,
HASH_TYPE_NETNTLM = 17,
HASH_TYPE_RIPEMD160 = 18,
HASH_TYPE_WHIRLPOOL = 19,
HASH_TYPE_AES = 20,
HASH_TYPE_GOST = 21,
HASH_TYPE_KRB5PA = 22,
HASH_TYPE_SAPB = 23,
HASH_TYPE_SAPG = 24,
HASH_TYPE_MYSQL = 25,
HASH_TYPE_LOTUS5 = 26,
HASH_TYPE_LOTUS6 = 27,
HASH_TYPE_ANDROIDFDE = 28,
HASH_TYPE_SCRYPT = 29,
HASH_TYPE_LOTUS8 = 30,
HASH_TYPE_OFFICE2007 = 31,
HASH_TYPE_OFFICE2010 = 32,
HASH_TYPE_OFFICE2013 = 33,
HASH_TYPE_OLDOFFICE01 = 34,
HASH_TYPE_OLDOFFICE34 = 35,
HASH_TYPE_SIPHASH = 36,
HASH_TYPE_PDFU16 = 37,
HASH_TYPE_PDFU32 = 38,
HASH_TYPE_PBKDF2_SHA256 = 39,
HASH_TYPE_BITCOIN_WALLET = 40,
HASH_TYPE_CRC32 = 41,
HASH_TYPE_GOST_2012SBOG_256 = 42,
HASH_TYPE_GOST_2012SBOG_512 = 43,
HASH_TYPE_PBKDF2_MD5 = 44,
HASH_TYPE_PBKDF2_SHA1 = 45,
HASH_TYPE_PBKDF2_SHA512 = 46,
HASH_TYPE_ECRYPTFS = 47,
HASH_TYPE_ORACLET = 48,
HASH_TYPE_BSDICRYPT = 49,
HASH_TYPE_RAR3HP = 50,
HASH_TYPE_KRB5TGS = 51,
HASH_TYPE_STDOUT = 52,
HASH_TYPE_DES = 53,
HASH_TYPE_PLAINTEXT = 54,
} hash_type_t;
@@ -1139,6 +1142,7 @@ typedef enum kern_type
KERN_TYPE_MD4 = 900,
KERN_TYPE_MD4_PWU = 1000,
KERN_TYPE_MD44_PWUSLT = 1100,
KERN_TYPE_SHA224 = 1300,
KERN_TYPE_SHA256 = 1400,
KERN_TYPE_SHA256_PWSLT = 1410,
KERN_TYPE_SHA256_SLTPW = 1420,
@@ -1385,6 +1389,7 @@ int sha1_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_bu
int sha1b64_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED const hashconfig_t *hashconfig);
int sha1b64s_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED const hashconfig_t *hashconfig);
int sha1s_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED const hashconfig_t *hashconfig);
int sha224_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED const hashconfig_t *hashconfig);
int sha256_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED const hashconfig_t *hashconfig);
int sha256s_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED const hashconfig_t *hashconfig);
int sha384_parse_hash (u8 *input_buf, u32 input_len, hash_t *hash_buf, MAYBE_UNUSED const hashconfig_t *hashconfig);