1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-21 15:48:08 +00:00

cryptoapi opts (2) and test unit

This commit is contained in:
Gabriele Gristina 2021-05-08 02:06:05 +02:00
parent 69dc14c66f
commit e30febc8b8
65 changed files with 335 additions and 288 deletions

View File

@ -76,10 +76,6 @@ KERNEL_FQ void m14511_mxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
u32 aes_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
COPY_PW (pws[gid]);
/**
@ -121,7 +117,9 @@ KERNEL_FQ void m14511_mxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
sha1_init (&ctx);
sha1_update_swap (&ctx, padding, 1);
ctx.w0[0] = 0x41000000;
ctx.len = 1;
sha1_update_swap (&ctx, w, w_len);
@ -271,10 +269,6 @@ KERNEL_FQ void m14511_sxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
* base
*/
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
COPY_PW (pws[gid]);
/**
@ -316,7 +310,9 @@ KERNEL_FQ void m14511_sxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
sha1_init (&ctx);
sha1_update_swap (&ctx, padding, 1);
ctx.w0[0] = 0x41000000;
ctx.len = 1;
sha1_update_swap (&ctx, w, w_len);

View File

@ -74,10 +74,6 @@ KERNEL_FQ void m14511_mxx (KERN_ATTR_ESALT (cryptoapi_t))
u32 aes_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
sha1_ctx_t ctx0, ctx0_padding;
sha1_init (&ctx0);
@ -94,7 +90,9 @@ KERNEL_FQ void m14511_mxx (KERN_ATTR_ESALT (cryptoapi_t))
ctx0_padding = ctx0;
sha1_update_swap (&ctx0_padding, padding, 1);
ctx0_padding.w0[0] = 0x41000000;
ctx0_padding.len = 1;
sha1_update_swap (&ctx0_padding, w, w_len);
}
@ -276,10 +274,6 @@ KERNEL_FQ void m14511_sxx (KERN_ATTR_ESALT (cryptoapi_t))
u32 aes_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
sha1_ctx_t ctx0, ctx0_padding;
sha1_init (&ctx0);
@ -296,7 +290,9 @@ KERNEL_FQ void m14511_sxx (KERN_ATTR_ESALT (cryptoapi_t))
ctx0_padding = ctx0;
sha1_update_swap (&ctx0_padding, padding, 1);
ctx0_padding.w0[0] = 0x41000000;
ctx0_padding.len = 1;
sha1_update_swap (&ctx0_padding, w, w_len);
}

View File

@ -74,10 +74,6 @@ KERNEL_FQ void m14511_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
u32 aes_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
const u32 pw_len = pws[gid].pw_len;
u32x w[64] = { 0 };
@ -101,12 +97,6 @@ KERNEL_FQ void m14511_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
w[0] = w0;
u32x _w[64];
u32 _w_len = pw_len;
for (u32 i = 0; i < 64; i++) _w[i] = w[i];
sha1_ctx_t ctx0;
sha1_init (&ctx0);
@ -130,9 +120,11 @@ KERNEL_FQ void m14511_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
sha1_init (&ctx);
sha1_update_swap(&ctx, padding, 1);
ctx.w0[0] = 0x41000000;
sha1_update_swap(&ctx, _w, _w_len);
ctx.len = 1;
sha1_update_swap (&ctx, w, pw_len);
sha1_final (&ctx);
@ -275,10 +267,6 @@ KERNEL_FQ void m14511_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
u32 aes_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
const u32 pw_len = pws[gid].pw_len;
u32x w[64] = { 0 };
@ -302,17 +290,11 @@ KERNEL_FQ void m14511_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
w[0] = w0;
u32x _w[64];
u32 _w_len = pw_len;
for (u32 i = 0; i < 64; i++) _w[i] = w[i];
sha1_ctx_t ctx0;
sha1_init (&ctx0);
sha1_update_swap(&ctx0, w, pw_len);
sha1_update_swap (&ctx0, w, pw_len);
sha1_final (&ctx0);
@ -331,9 +313,11 @@ KERNEL_FQ void m14511_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
sha1_init (&ctx);
sha1_update_swap(&ctx, padding, 1);
ctx.w0[0] = 0x41000000;
sha1_update_swap(&ctx, _w, _w_len);
ctx.len = 1;
sha1_update_swap (&ctx, w, pw_len);
sha1_final (&ctx);

View File

@ -40,10 +40,6 @@ KERNEL_FQ void m14512_mxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
u32 serpent_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
COPY_PW (pws[gid]);
/**
@ -85,7 +81,9 @@ KERNEL_FQ void m14512_mxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
sha1_init (&ctx);
sha1_update_swap (&ctx, padding, 1);
ctx.w0[0] = 0x41000000;
ctx.len = 1;
sha1_update_swap (&ctx, w, w_len);
@ -198,10 +196,6 @@ KERNEL_FQ void m14512_sxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
* base
*/
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
COPY_PW (pws[gid]);
/**
@ -243,7 +237,10 @@ KERNEL_FQ void m14512_sxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
sha1_init (&ctx);
sha1_update_swap (&ctx, padding, 1);
ctx.w0[0] = 0x41000000;
ctx.len = 1;
sha1_update_swap (&ctx, w, w_len);
sha1_final (&ctx);

View File

@ -38,10 +38,6 @@ KERNEL_FQ void m14512_mxx (KERN_ATTR_ESALT (cryptoapi_t))
u32 serpent_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
sha1_ctx_t ctx0, ctx0_padding;
sha1_init (&ctx0);
@ -58,7 +54,9 @@ KERNEL_FQ void m14512_mxx (KERN_ATTR_ESALT (cryptoapi_t))
ctx0_padding = ctx0;
sha1_update_swap (&ctx0_padding, padding, 1);
ctx0_padding.w0[0] = 0x41000000;
ctx0_padding.len = 1;
sha1_update_swap (&ctx0_padding, w, w_len);
}
@ -204,10 +202,6 @@ KERNEL_FQ void m14512_sxx (KERN_ATTR_ESALT (cryptoapi_t))
u32 serpent_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
sha1_ctx_t ctx0, ctx0_padding;
sha1_init (&ctx0);
@ -224,7 +218,9 @@ KERNEL_FQ void m14512_sxx (KERN_ATTR_ESALT (cryptoapi_t))
ctx0_padding = ctx0;
sha1_update_swap (&ctx0_padding, padding, 1);
ctx0_padding.w0[0] = 0x41000000;
ctx0_padding.len = 1;
sha1_update_swap (&ctx0_padding, w, w_len);
}

View File

@ -38,10 +38,6 @@ KERNEL_FQ void m14512_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
u32 serpent_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
const u32 pw_len = pws[gid].pw_len;
u32x w[64] = { 0 };
@ -65,12 +61,6 @@ KERNEL_FQ void m14512_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
w[0] = w0;
u32x _w[64];
u32 _w_len = pw_len;
for (u32 i = 0; i < 64; i++) _w[i] = w[i];
sha1_ctx_t ctx0;
sha1_init (&ctx0);
@ -94,9 +84,11 @@ KERNEL_FQ void m14512_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
sha1_init (&ctx);
sha1_update_swap (&ctx, padding, 1);
ctx.w0[0] = 0x41000000;
sha1_update_swap (&ctx, _w, _w_len);
ctx.len = 1;
sha1_update_swap (&ctx, w, pw_len);
sha1_final (&ctx);
@ -203,10 +195,6 @@ KERNEL_FQ void m14512_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
u32 serpent_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
const u32 pw_len = pws[gid].pw_len;
u32x w[64] = { 0 };
@ -230,12 +218,6 @@ KERNEL_FQ void m14512_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
w[0] = w0;
u32x _w[64];
u32 _w_len = pw_len;
for (u32 i = 0; i < 64; i++) _w[i] = w[i];
sha1_ctx_t ctx0;
sha1_init (&ctx0);
@ -259,9 +241,11 @@ KERNEL_FQ void m14512_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
sha1_init (&ctx);
sha1_update_swap (&ctx, padding, 1);
ctx.w0[0] = 0x41000000;
sha1_update_swap (&ctx, _w, _w_len);
ctx.len = 1;
sha1_update_swap (&ctx, w, pw_len);
sha1_final (&ctx);

View File

@ -40,10 +40,6 @@ KERNEL_FQ void m14513_mxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
u32 twofish_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
COPY_PW (pws[gid]);
/**
@ -85,7 +81,9 @@ KERNEL_FQ void m14513_mxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
sha1_init (&ctx);
sha1_update_swap (&ctx, padding, 1);
ctx.w0[0] = 0x41000000;
ctx.len = 1;
sha1_update_swap (&ctx, w, w_len);
@ -199,10 +197,6 @@ KERNEL_FQ void m14513_sxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
* base
*/
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
COPY_PW (pws[gid]);
/**
@ -244,7 +238,9 @@ KERNEL_FQ void m14513_sxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
sha1_init (&ctx);
sha1_update_swap (&ctx, padding, 1);
ctx.w0[0] = 0x41000000;
ctx.len = 1;
sha1_update_swap (&ctx, w, w_len);

View File

@ -38,10 +38,6 @@ KERNEL_FQ void m14513_mxx (KERN_ATTR_ESALT (cryptoapi_t))
u32 twofish_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
sha1_ctx_t ctx0, ctx0_padding;
sha1_init (&ctx0);
@ -58,7 +54,9 @@ KERNEL_FQ void m14513_mxx (KERN_ATTR_ESALT (cryptoapi_t))
ctx0_padding = ctx0;
sha1_update_swap (&ctx0_padding, padding, 1);
ctx0_padding.w0[0] = 0x41000000;
ctx0_padding.len = 1;
sha1_update_swap (&ctx0_padding, w, w_len);
}
@ -205,10 +203,6 @@ KERNEL_FQ void m14513_sxx (KERN_ATTR_ESALT (cryptoapi_t))
u32 twofish_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
sha1_ctx_t ctx0, ctx0_padding;
sha1_init (&ctx0);
@ -225,7 +219,9 @@ KERNEL_FQ void m14513_sxx (KERN_ATTR_ESALT (cryptoapi_t))
ctx0_padding = ctx0;
sha1_update_swap (&ctx0_padding, padding, 1);
ctx0_padding.w0[0] = 0x41000000;
ctx0_padding.len = 1;
sha1_update_swap (&ctx0_padding, w, w_len);
}

View File

@ -38,10 +38,6 @@ KERNEL_FQ void m14513_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
u32 twofish_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
const u32 pw_len = pws[gid].pw_len;
u32x w[64] = { 0 };
@ -65,12 +61,6 @@ KERNEL_FQ void m14513_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
w[0] = w0;
u32x _w[64];
u32 _w_len = pw_len;
for (u32 i = 0; i < 64; i++) _w[i] = w[i];
sha1_ctx_t ctx0;
sha1_init (&ctx0);
@ -94,9 +84,11 @@ KERNEL_FQ void m14513_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
sha1_init (&ctx);
sha1_update_swap (&ctx, padding, 1);
ctx.w0[0] = 0x41000000;
sha1_update_swap (&ctx, _w, _w_len);
ctx.len = 1;
sha1_update_swap (&ctx, w, pw_len);
sha1_final (&ctx);
@ -204,10 +196,6 @@ KERNEL_FQ void m14513_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
u32 twofish_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
const u32 pw_len = pws[gid].pw_len;
u32x w[64] = { 0 };
@ -231,12 +219,6 @@ KERNEL_FQ void m14513_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
w[0] = w0;
u32x _w[64];
u32 _w_len = pw_len;
for (u32 i = 0; i < 64; i++) _w[i] = w[i];
sha1_ctx_t ctx0;
sha1_init (&ctx0);
@ -260,9 +242,11 @@ KERNEL_FQ void m14513_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
sha1_init (&ctx);
sha1_update_swap (&ctx, padding, 1);
ctx.w0[0] = 0x41000000;
sha1_update_swap (&ctx, _w, _w_len);
ctx.len = 1;
sha1_update_swap (&ctx, w, pw_len);
sha1_final (&ctx);

View File

@ -76,10 +76,6 @@ KERNEL_FQ void m14541_mxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
u32 aes_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
COPY_PW (pws[gid]);
/**
@ -121,7 +117,9 @@ KERNEL_FQ void m14541_mxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
ripemd160_init (&ctx);
ripemd160_update (&ctx, padding, 1);
ctx.w0[0] = 0x00000041;
ctx.len = 1;
ripemd160_update (&ctx, w, w_len);
@ -271,10 +269,6 @@ KERNEL_FQ void m14541_sxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
* base
*/
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
COPY_PW (pws[gid]);
/**
@ -288,6 +282,7 @@ KERNEL_FQ void m14541_sxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
tmp.pw_len = apply_rules (rules_buf[il_pos].cmds, tmp.i, tmp.pw_len);
u32 w[64];
u32 w_len = tmp.pw_len;
for (u32 i = 0; i < 64; i++) w[i] = tmp.i[i];
@ -315,7 +310,9 @@ KERNEL_FQ void m14541_sxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
ripemd160_init (&ctx);
ripemd160_update (&ctx, padding, 1);
ctx.w0[0] = 0x00000041;
ctx.len = 1;
ripemd160_update (&ctx, w, w_len);

View File

@ -74,10 +74,6 @@ KERNEL_FQ void m14541_mxx (KERN_ATTR_ESALT (cryptoapi_t))
u32 aes_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
ripemd160_ctx_t ctx0, ctx0_padding;
ripemd160_init (&ctx0);
@ -94,7 +90,9 @@ KERNEL_FQ void m14541_mxx (KERN_ATTR_ESALT (cryptoapi_t))
ctx0_padding = ctx0;
ripemd160_update (&ctx0_padding, padding, 1);
ctx0_padding.w0[0] = 0x00000041;
ctx0_padding.len = 1;
ripemd160_update (&ctx0_padding, w, w_len);
}
@ -276,10 +274,6 @@ KERNEL_FQ void m14541_sxx (KERN_ATTR_ESALT (cryptoapi_t))
u32 aes_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
ripemd160_ctx_t ctx0, ctx0_padding;
ripemd160_init (&ctx0);
@ -296,7 +290,9 @@ KERNEL_FQ void m14541_sxx (KERN_ATTR_ESALT (cryptoapi_t))
ctx0_padding = ctx0;
ripemd160_update (&ctx0_padding, padding, 1);
ctx0_padding.w0[0] = 0x00000041;
ctx0_padding.len = 1;
ripemd160_update (&ctx0_padding, w, w_len);
}

View File

@ -74,10 +74,6 @@ KERNEL_FQ void m14541_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
u32 aes_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
const u32 pw_len = pws[gid].pw_len;
u32x w[64] = { 0 };
@ -101,12 +97,6 @@ KERNEL_FQ void m14541_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
w[0] = w0;
u32x _w[64];
u32 _w_len = pw_len;
for (u32 i = 0; i < 64; i++) _w[i] = w[i];
ripemd160_ctx_t ctx0;
ripemd160_init (&ctx0);
@ -130,9 +120,11 @@ KERNEL_FQ void m14541_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
ripemd160_init (&ctx);
ripemd160_update (&ctx, padding, 1);
ctx.w0[0] = 0x00000041;
ripemd160_update (&ctx, _w, _w_len);
ctx.len = 1;
ripemd160_update (&ctx, w, pw_len);
ripemd160_final (&ctx);
@ -275,10 +267,6 @@ KERNEL_FQ void m14541_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
u32 aes_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
const u32 pw_len = pws[gid].pw_len;
u32x w[64] = { 0 };
@ -302,12 +290,6 @@ KERNEL_FQ void m14541_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
w[0] = w0;
u32x _w[64];
u32 _w_len = pw_len;
for (u32 i = 0; i < 64; i++) _w[i] = w[i];
ripemd160_ctx_t ctx0;
ripemd160_init (&ctx0);
@ -331,9 +313,11 @@ KERNEL_FQ void m14541_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
ripemd160_init (&ctx);
ripemd160_update (&ctx, padding, 1);
ctx.w0[0] = 0x00000041;
ripemd160_update (&ctx, _w, _w_len);
ctx.len = 1;
ripemd160_update (&ctx, w, pw_len);
ripemd160_final (&ctx);

View File

@ -40,10 +40,6 @@ KERNEL_FQ void m14542_mxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
u32 serpent_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
COPY_PW (pws[gid]);
/**
@ -85,7 +81,9 @@ KERNEL_FQ void m14542_mxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
ripemd160_init (&ctx);
ripemd160_update (&ctx, padding, 1);
ctx.w0[0] = 0x00000041;
ctx.len = 1;
ripemd160_update (&ctx, w, w_len);
@ -198,10 +196,6 @@ KERNEL_FQ void m14542_sxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
* base
*/
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
COPY_PW (pws[gid]);
/**
@ -243,7 +237,9 @@ KERNEL_FQ void m14542_sxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
ripemd160_init (&ctx);
ripemd160_update (&ctx, padding, 1);
ctx.w0[0] = 0x00000041;
ctx.len = 1;
ripemd160_update (&ctx, w, w_len);

View File

@ -38,10 +38,6 @@ KERNEL_FQ void m14542_mxx (KERN_ATTR_ESALT (cryptoapi_t))
u32 serpent_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
ripemd160_ctx_t ctx0, ctx0_padding;
ripemd160_init (&ctx0);
@ -58,7 +54,9 @@ KERNEL_FQ void m14542_mxx (KERN_ATTR_ESALT (cryptoapi_t))
ctx0_padding = ctx0;
ripemd160_update (&ctx0_padding, padding, 1);
ctx0_padding.w0[0] = 0x00000041;
ctx0_padding.len = 1;
ripemd160_update (&ctx0_padding, w, w_len);
}
@ -204,10 +202,6 @@ KERNEL_FQ void m14542_sxx (KERN_ATTR_ESALT (cryptoapi_t))
u32 serpent_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
ripemd160_ctx_t ctx0, ctx0_padding;
ripemd160_init (&ctx0);
@ -224,7 +218,9 @@ KERNEL_FQ void m14542_sxx (KERN_ATTR_ESALT (cryptoapi_t))
ctx0_padding = ctx0;
ripemd160_update (&ctx0_padding, padding, 1);
ctx0_padding.w0[0] = 0x00000041;
ctx0_padding.len = 1;
ripemd160_update (&ctx0_padding, w, w_len);
}

View File

@ -38,10 +38,6 @@ KERNEL_FQ void m14542_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
u32 serpent_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
const u32 pw_len = pws[gid].pw_len;
u32x w[64] = { 0 };
@ -65,12 +61,6 @@ KERNEL_FQ void m14542_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
w[0] = w0;
u32x _w[64];
u32 _w_len = pw_len;
for (u32 i = 0; i < 64; i++) _w[i] = w[i];
ripemd160_ctx_t ctx0;
ripemd160_init (&ctx0);
@ -94,9 +84,11 @@ KERNEL_FQ void m14542_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
ripemd160_init (&ctx);
ripemd160_update (&ctx, padding, 1);
ctx.w0[0] = 0x00000041;
ripemd160_update (&ctx, _w, _w_len);
ctx.len = 1;
ripemd160_update (&ctx, w, pw_len);
ripemd160_final (&ctx);
@ -203,10 +195,6 @@ KERNEL_FQ void m14542_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
u32 serpent_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
const u32 pw_len = pws[gid].pw_len;
u32x w[64] = { 0 };
@ -230,12 +218,6 @@ KERNEL_FQ void m14542_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
w[0] = w0;
u32x _w[64];
u32 _w_len = pw_len;
for (u32 i = 0; i < 64; i++) _w[i] = w[i];
ripemd160_ctx_t ctx0;
ripemd160_init (&ctx0);
@ -259,9 +241,11 @@ KERNEL_FQ void m14542_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
ripemd160_init (&ctx);
ripemd160_update (&ctx, padding, 1);
ctx.w0[0] = 0x00000041;
ripemd160_update (&ctx, _w, _w_len);
ctx.len = 1;
ripemd160_update (&ctx, w, pw_len);
ripemd160_final (&ctx);

View File

@ -40,10 +40,6 @@ KERNEL_FQ void m14543_mxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
u32 twofish_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
COPY_PW (pws[gid]);
/**
@ -85,7 +81,9 @@ KERNEL_FQ void m14543_mxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
ripemd160_init (&ctx);
ripemd160_update (&ctx, padding, 1);
ctx.w0[0] = 0x00000041;
ctx.len = 1;
ripemd160_update (&ctx, w, w_len);
@ -199,10 +197,6 @@ KERNEL_FQ void m14543_sxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
* base
*/
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
COPY_PW (pws[gid]);
/**
@ -244,7 +238,9 @@ KERNEL_FQ void m14543_sxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
ripemd160_init (&ctx);
ripemd160_update (&ctx, padding, 1);
ctx.w0[0] = 0x00000041;
ctx.len = 1;
ripemd160_update (&ctx, w, w_len);
@ -260,6 +256,7 @@ KERNEL_FQ void m14543_sxx (KERN_ATTR_RULES_ESALT (cryptoapi_t))
}
// key
u32 ukey[8] = { 0 };
ukey[0] = k0;

View File

@ -38,10 +38,6 @@ KERNEL_FQ void m14543_mxx (KERN_ATTR_ESALT (cryptoapi_t))
u32 twofish_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
ripemd160_ctx_t ctx0, ctx0_padding;
ripemd160_init (&ctx0);
@ -58,7 +54,9 @@ KERNEL_FQ void m14543_mxx (KERN_ATTR_ESALT (cryptoapi_t))
ctx0_padding = ctx0;
ripemd160_update (&ctx0_padding, padding, 1);
ctx0_padding.w0[0] = 0x00000041;
ctx0_padding.len = 1;
ripemd160_update (&ctx0_padding, w, w_len);
}
@ -205,10 +203,6 @@ KERNEL_FQ void m14543_sxx (KERN_ATTR_ESALT (cryptoapi_t))
u32 twofish_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
ripemd160_ctx_t ctx0, ctx0_padding;
ripemd160_init (&ctx0);
@ -225,7 +219,9 @@ KERNEL_FQ void m14543_sxx (KERN_ATTR_ESALT (cryptoapi_t))
ctx0_padding = ctx0;
ripemd160_update (&ctx0_padding, padding, 1);
ctx0_padding.w0[0] = 0x00000041;
ctx0_padding.len = 1;
ripemd160_update (&ctx0_padding, w, w_len);
}

View File

@ -38,10 +38,6 @@ KERNEL_FQ void m14543_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
u32 twofish_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
const u32 pw_len = pws[gid].pw_len;
u32x w[64] = { 0 };
@ -65,12 +61,6 @@ KERNEL_FQ void m14543_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
w[0] = w0;
u32x _w[64];
u32 _w_len = pw_len;
for (u32 i = 0; i < 64; i++) _w[i] = w[i];
ripemd160_ctx_t ctx0;
ripemd160_init (&ctx0);
@ -94,9 +84,11 @@ KERNEL_FQ void m14543_mxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
ripemd160_init (&ctx);
ripemd160_update (&ctx, padding, 1);
ctx.w0[0] = 0x00000041;
ripemd160_update (&ctx, _w, _w_len);
ctx.len = 1;
ripemd160_update (&ctx, w, pw_len);
ripemd160_final (&ctx);
@ -204,10 +196,6 @@ KERNEL_FQ void m14543_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
u32 twofish_key_len = esalt_bufs[DIGESTS_OFFSET].key_size;
u32 padding[64] = { 0 };
padding[0] = 0x00000041;
const u32 pw_len = pws[gid].pw_len;
u32x w[64] = { 0 };
@ -231,12 +219,6 @@ KERNEL_FQ void m14543_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
w[0] = w0;
u32x _w[64];
u32 _w_len = pw_len;
for (u32 i = 0; i < 64; i++) _w[i] = w[i];
ripemd160_ctx_t ctx0;
ripemd160_init (&ctx0);
@ -260,9 +242,11 @@ KERNEL_FQ void m14543_sxx (KERN_ATTR_VECTOR_ESALT (cryptoapi_t))
ripemd160_init (&ctx);
ripemd160_update (&ctx, padding, 1);
ctx.w0[0] = 0x00000041;
ripemd160_update (&ctx, _w, _w_len);
ctx.len = 1;
ripemd160_update (&ctx, w, pw_len);
ripemd160_final (&ctx);

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -98,5 +98,4 @@ else:
f.close()
print('Hashcat mode: ' + str(hash_mode))
print('Hash: $cryptoapi$' + str(kern_type) + '$' + str(key_size) + '$03000000000000000000000000000000$00000000000000000000000000000000$' + ct)
print('$cryptoapi$' + str(kern_type) + '$' + str(key_size) + '$03000000000000000000000000000000$00000000000000000000000000000000$' + ct)

View File

@ -24,10 +24,13 @@ NOCHECK_ENCODING="16800 22000"
# LUKS mode has test containers
LUKS_MODE="14600"
# Cryptoloop mode which have test containers
CL_MODES="14511 14512 14513 14521 14522 14523 14531 14532 14533 14541 14542 14543 14551 14552 14553"
# missing hash types: 5200
HASH_TYPES=$(ls "${TDIR}"/test_modules/*.pm | sed -E 's/.*m0*([0-9]+).pm/\1/')
HASH_TYPES="${HASH_TYPES} ${TC_MODES} ${VC_MODES} ${LUKS_MODE}"
HASH_TYPES="${HASH_TYPES} ${TC_MODES} ${VC_MODES} ${LUKS_MODE} ${CL_MODES}"
HASH_TYPES=$(echo -n "${HASH_TYPES}" | tr ' ' '\n' | sort -u -n | tr '\n' ' ')
VECTOR_WIDTHS="1 2 4 8 16"
@ -156,24 +159,23 @@ function is_in_array()
function init()
{
if [ "${PACKAGE}" -eq 1 ]; then
echo "[ ${OUTD} ] > Generate tests for hash type $hash_type."
else
echo "[ ${OUTD} ] > Init test for hash type $hash_type."
fi
rm -rf "${OUTD}/${hash_type}.sh" "${OUTD}/${hash_type}_passwords.txt" "${OUTD}/${hash_type}_hashes.txt"
# Exclude TrueCrypt and VeraCrypt testing modes
# Exclude TrueCrypt, VeraCrypt and CryptoLoop testing modes
if is_in_array "${hash_type}" ${TC_MODES}; then
return 0
fi
if is_in_array "${hash_type}" ${VC_MODES}; then
return 0
fi
if is_in_array "${hash_type}" ${CL_MODES}; then
return 0
fi
if [ "${hash_type}" -eq ${LUKS_MODE} ]; then
@ -2375,6 +2377,176 @@ function attack_7()
fi
}
function cryptoloop_test()
{
hashType=$1
keySize=$2
CMD="unset"
mkdir -p ${OUTD}/cl_tests
case $hashType in
14511)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_sha1_aes_${keySize}.img --hash sha1 --cipher aes --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_sha1_aes_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_sha1_aes_${keySize}.hash hashca?l"
;;
esac
;;
14512)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_sha1_serpent_${keySize}.img --hash sha1 --cipher serpent --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_sha1_serpent_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_sha1_serpent_${keySize}.hash hashca?l"
;;
esac
;;
14513)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_sha1_twofish_${keySize}.img --hash sha1 --cipher twofish --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_sha1_twofish_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_sha1_twofish_${keySize}.hash hashca?l"
;;
esac
;;
14521)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_sha256_aes_${keySize}.img --hash sha256 --cipher aes --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_sha256_aes_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_sha256_aes_${keySize}.hash hashca?l"
;;
esac
;;
14522)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_sha256_serpent_${keySize}.img --hash sha256 --cipher serpent --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_sha256_serpent_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_sha256_serpent_${keySize}.hash hashca?l"
;;
esac
;;
14523)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_sha256_twofish_${keySize}.img --hash sha256 --cipher twofish --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_sha256_twofish_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_sha256_twofish_${keySize}.hash hashca?l"
;;
esac
;;
14531)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_sha512_aes_${keySize}.img --hash sha512 --cipher aes --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_sha512_aes_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_sha512_aes_${keySize}.hash hashca?l"
;;
esac
;;
14532)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_sha512_serpent_${keySize}.img --hash sha512 --cipher serpent --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_sha512_serpent_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_sha512_serpent_${keySize}.hash hashca?l"
;;
esac
;;
14533)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_sha512_twofish_${keySize}.img --hash sha512 --cipher twofish --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_sha512_twofish_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_sha512_twofish_${keySize}.hash hashca?l"
;;
esac
;;
14541)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_ripemd160_aes_${keySize}.img --hash ripemd160 --cipher aes --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_ripemd160_aes_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_ripemd160_aes_${keySize}.hash hashca?l"
;;
esac
;;
14542)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_ripemd160_serpent_${keySize}.img --hash ripemd160 --cipher serpent --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_ripemd160_serpent_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_ripemd160_serpent_${keySize}.hash hashca?l"
;;
esac
;;
14543)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_ripemd160_twofish_${keySize}.img --hash ripemd160 --cipher twofish --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_ripemd160_twofish_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_ripemd160_twofish_${keySize}.hash hashca?l"
;;
esac
;;
14551)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_whirlpool_aes_${keySize}.img --hash whirlpool --cipher aes --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_whirlpool_aes_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_whirlpool_aes_${keySize}.hash hashca?l"
;;
esac
;;
14552)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_whirlpool_serpent_${keySize}.img --hash whirlpool --cipher serpent --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_whirlpool_serpent_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_whirlpool_serpent_${keySize}.hash hashca?l"
;;
esac
;;
14553)
case $keySize in
128|192|256)
${TDIR}/cryptoloop2hashcat.py --source ${TDIR}/cl_tests/hashcat_whirlpool_twofish_${keySize}.img --hash whirlpool --cipher twofish --keysize ${keySize} > ${OUTD}/cl_tests/hashcat_whirlpool_twofish_${keySize}.hash
CMD="./${BIN} ${OPTS} -a 3 -m 14500 ${OUTD}/cl_tests/hashcat_whirlpool_twofish_${keySize}.hash hashca?l"
;;
esac
;;
esac
if [ ${#CMD} -gt 5 ]; then
echo "> Testing hash type $hashType with attack mode 3, markov ${MARKOV}, single hash, Device-Type ${TYPE}, Kernel-Type ${KERNEL_TYPE}, Vector-Width ${VECTOR}, Key-Size ${keySize}" >> "${OUTD}/logfull.txt" 2>> "${OUTD}/logfull.txt"
output=$(${CMD} 2>&1)
ret=${?}
echo "${output}" >> "${OUTD}/logfull.txt"
cnt=1
e_nf=0
msg="OK"
if [ ${ret} -ne 0 ]; then
e_nf=1
msg="Error"
fi
echo "[ ${OUTD} ] [ Type ${hash_type}, Attack 3, Mode single, Device-Type ${TYPE}, Kernel-Type ${KERNEL_TYPE}, Vector-Width ${VECTOR}, Key-Size ${keySize} ] > $msg : ${e_nf}/${cnt} not found"
status ${ret}
fi
}
function truecrypt_test()
{
hashType=$1
@ -3072,7 +3244,9 @@ if [ "${PACKAGE}" -eq 0 ] || [ -z "${PACKAGE_FOLDER}" ]; then
if [ "${TMP_HT}" -ne ${LUKS_MODE} ]; then
if ! is_in_array "${TMP_HT}" ${TC_MODES}; then
if ! is_in_array "${TMP_HT}" ${VC_MODES}; then
perl tools/test.pl single "${TMP_HT}" >> "${OUTD}/all.sh"
if ! is_in_array "${TMP_HT}" ${CL_MODES}; then
perl tools/test.pl single "${TMP_HT}" >> "${OUTD}/all.sh"
fi
fi
fi
fi
@ -3087,7 +3261,9 @@ if [ "${PACKAGE}" -eq 0 ] || [ -z "${PACKAGE_FOLDER}" ]; then
# Exclude TrueCrypt and VeraCrypt testing modes
if ! is_in_array "${TMP_HT}" ${TC_MODES}; then
if ! is_in_array "${TMP_HT}" ${VC_MODES}; then
perl tools/test.pl single "${TMP_HT}" >> "${OUTD}/all.sh"
if ! is_in_array "${TMP_HT}" ${CL_MODES}; then
perl tools/test.pl single "${TMP_HT}" >> "${OUTD}/all.sh"
fi
fi
fi
fi
@ -3197,7 +3373,6 @@ if [ "${PACKAGE}" -eq 0 ] || [ -z "${PACKAGE_FOLDER}" ]; then
veracrypt_test 4 # camellia (alternative cascade)
veracrypt_test 5 # kuznyechik
veracrypt_test 6 # kuznyechik (alternative cascade)
elif is_in_array "${hash_type}" ${TC_MODES}; then
# run truecrypt tests
truecrypt_test "${hash_type}" 0
@ -3213,20 +3388,27 @@ if [ "${PACKAGE}" -eq 0 ] || [ -z "${PACKAGE_FOLDER}" ]; then
else
# run attack mode 0 (stdin)
if [ ${ATTACK} -eq 65535 ] || [ ${ATTACK} -eq 0 ]; then attack_0; fi
if is_in_array "${hash_type}" ${CL_MODES}; then
# run cryptoloop tests
cryptoloop_test "${hash_type}" 128
cryptoloop_test "${hash_type}" 192
cryptoloop_test "${hash_type}" 256
else
# run attack mode 0 (stdin)
if [ ${ATTACK} -eq 65535 ] || [ ${ATTACK} -eq 0 ]; then attack_0; fi
# run attack mode 1 (combinator)
if [ ${ATTACK} -eq 65535 ] || [ ${ATTACK} -eq 1 ]; then attack_1; fi
# run attack mode 1 (combinator)
if [ ${ATTACK} -eq 65535 ] || [ ${ATTACK} -eq 1 ]; then attack_1; fi
# run attack mode 3 (bruteforce)
if [ ${ATTACK} -eq 65535 ] || [ ${ATTACK} -eq 3 ]; then attack_3; fi
# run attack mode 3 (bruteforce)
if [ ${ATTACK} -eq 65535 ] || [ ${ATTACK} -eq 3 ]; then attack_3; fi
# run attack mode 6 (dict+mask)
if [ ${ATTACK} -eq 65535 ] || [ ${ATTACK} -eq 6 ]; then attack_6; fi
# run attack mode 6 (dict+mask)
if [ ${ATTACK} -eq 65535 ] || [ ${ATTACK} -eq 6 ]; then attack_6; fi
# run attack mode 7 (mask+dict)
if [ ${ATTACK} -eq 65535 ] || [ ${ATTACK} -eq 7 ]; then attack_7; fi
# run attack mode 7 (mask+dict)
if [ ${ATTACK} -eq 65535 ] || [ ${ATTACK} -eq 7 ]; then attack_7; fi
fi
fi
fi
@ -3245,9 +3427,7 @@ fi
# fix logfile
if [ "${PACKAGE}" -eq 0 ]; then
cat -vet "${OUTD}/logfull.txt" | sed -e 's/\^M \^M//g' | sed -e 's/\$$//g' > "${OUTD}/test_report.log"
fi
rm -rf "${OUTD}/logfull.txt"
@ -3261,11 +3441,13 @@ if [ "${PACKAGE}" -eq 1 ]; then
copy_luks_dir=0
copy_tc_dir=0
copy_vc_dir=0
copy_cl_dir=0
if [ "${HT}" -eq 65535 ]; then
copy_luks_dir=1
copy_tc_dir=1
copy_vc_dir=1
copy_cl_dir=1
else
for TMP_HT in $(seq "${HT_MIN}" "${HT_MAX}"); do
if [ "${TMP_HT}" -eq "${LUKS_MODE}" ]; then
@ -3274,6 +3456,8 @@ if [ "${PACKAGE}" -eq 1 ]; then
copy_tc_dir=1
elif is_in_array "${TMP_HT}" ${VC_MODES}; then
copy_vc_dir=1
elif is_in_array "${TMP_HT}" ${CL_MODES}; then
copy_cl_dir=1
fi
done
fi
@ -3293,6 +3477,11 @@ if [ "${PACKAGE}" -eq 1 ]; then
cp ${TDIR}/vc_tests/* "${OUTD}/vc_tests/"
fi
if [ "${copy_cl_dir}" -eq 1 ]; then
mkdir "${OUTD}/cl_tests/"
cp ${TDIR}/cl_tests/* "${OUTD}/cl_tests/"
fi
# if we package from a given folder, we need to check if e.g. the files needed for multi mode are there
if [ -n "${PACKAGE_FOLDER}" ]; then