|
|
|
@ -14,18 +14,17 @@
|
|
|
|
|
#include "inc_hash_sha512.cl"
|
|
|
|
|
#include "inc_cipher_serpent.cl"
|
|
|
|
|
|
|
|
|
|
#include "inc_luks_af.cl"
|
|
|
|
|
#include "inc_luks_essiv.cl"
|
|
|
|
|
#include "inc_luks_xts.cl"
|
|
|
|
|
|
|
|
|
|
#include "inc_luks_serpent.cl"
|
|
|
|
|
|
|
|
|
|
#define COMPARE_S "inc_comp_single.cl"
|
|
|
|
|
#define COMPARE_M "inc_comp_multi.cl"
|
|
|
|
|
#define LUKS_STRIPES 4000
|
|
|
|
|
|
|
|
|
|
#define MAX_ENTROPY 7.0
|
|
|
|
|
typedef enum hc_luks_hash_type
|
|
|
|
|
{
|
|
|
|
|
HC_LUKS_HASH_TYPE_SHA1 = 1,
|
|
|
|
|
HC_LUKS_HASH_TYPE_SHA256 = 2,
|
|
|
|
|
HC_LUKS_HASH_TYPE_SHA512 = 3,
|
|
|
|
|
HC_LUKS_HASH_TYPE_RIPEMD160 = 4,
|
|
|
|
|
HC_LUKS_HASH_TYPE_WHIRLPOOL = 5,
|
|
|
|
|
|
|
|
|
|
#define LUKS_STRIPES 4000
|
|
|
|
|
} hc_luks_hash_type_t;
|
|
|
|
|
|
|
|
|
|
typedef enum hc_luks_key_size
|
|
|
|
|
{
|
|
|
|
@ -35,6 +34,22 @@ typedef enum hc_luks_key_size
|
|
|
|
|
|
|
|
|
|
} hc_luks_key_size_t;
|
|
|
|
|
|
|
|
|
|
typedef enum hc_luks_cipher_type
|
|
|
|
|
{
|
|
|
|
|
HC_LUKS_CIPHER_TYPE_AES = 1,
|
|
|
|
|
HC_LUKS_CIPHER_TYPE_SERPENT = 2,
|
|
|
|
|
HC_LUKS_CIPHER_TYPE_TWOFISH = 3,
|
|
|
|
|
|
|
|
|
|
} hc_luks_cipher_type_t;
|
|
|
|
|
|
|
|
|
|
typedef enum hc_luks_cipher_mode
|
|
|
|
|
{
|
|
|
|
|
HC_LUKS_CIPHER_MODE_CBC_ESSIV = 1,
|
|
|
|
|
HC_LUKS_CIPHER_MODE_CBC_PLAIN = 2,
|
|
|
|
|
HC_LUKS_CIPHER_MODE_XTS_PLAIN = 3,
|
|
|
|
|
|
|
|
|
|
} hc_luks_cipher_mode_t;
|
|
|
|
|
|
|
|
|
|
typedef struct luks
|
|
|
|
|
{
|
|
|
|
|
int hash_type; // hc_luks_hash_type_t
|
|
|
|
@ -64,6 +79,17 @@ typedef struct luks_tmp
|
|
|
|
|
|
|
|
|
|
} luks_tmp_t;
|
|
|
|
|
|
|
|
|
|
#include "inc_luks_af.cl"
|
|
|
|
|
#include "inc_luks_essiv.cl"
|
|
|
|
|
#include "inc_luks_xts.cl"
|
|
|
|
|
|
|
|
|
|
#include "inc_luks_aes.cl"
|
|
|
|
|
|
|
|
|
|
#define COMPARE_S "inc_comp_single.cl"
|
|
|
|
|
#define COMPARE_M "inc_comp_multi.cl"
|
|
|
|
|
|
|
|
|
|
#define MAX_ENTROPY 7.0
|
|
|
|
|
|
|
|
|
|
DECLSPEC void hmac_sha512_run_V (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u32x *w4, u32x *w5, u32x *w6, u32x *w7, u64x *ipad, u64x *opad, u64x *digest)
|
|
|
|
|
{
|
|
|
|
|
digest[0] = ipad[0];
|
|
|
|
|