1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-11-26 09:58:16 +00:00

Merge branch 'master' into master

This commit is contained in:
Jens Steube 2020-07-01 12:50:44 +02:00 committed by GitHub
commit ab4a1783df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 280 additions and 277 deletions

View File

@ -1772,135 +1772,71 @@ KERNEL_FQ void m14000_mxx (KERN_ATTR_BITSLICE ())
// salt1 first, because this is a 64 bit value actually // salt1 first, because this is a 64 bit value actually
#define d00 (((salt1 >> 0) & 1) ? -1 : 0)
#define d01 (((salt1 >> 1) & 1) ? -1 : 0)
#define d02 (((salt1 >> 2) & 1) ? -1 : 0)
#define d03 (((salt1 >> 3) & 1) ? -1 : 0)
#define d04 (((salt1 >> 4) & 1) ? -1 : 0)
#define d05 (((salt1 >> 5) & 1) ? -1 : 0)
#define d06 (((salt1 >> 6) & 1) ? -1 : 0)
#define d07 (((salt1 >> 7) & 1) ? -1 : 0)
#define d08 (((salt1 >> 8) & 1) ? -1 : 0)
#define d09 (((salt1 >> 9) & 1) ? -1 : 0)
#define d10 (((salt1 >> 10) & 1) ? -1 : 0)
#define d11 (((salt1 >> 11) & 1) ? -1 : 0)
#define d12 (((salt1 >> 12) & 1) ? -1 : 0)
#define d13 (((salt1 >> 13) & 1) ? -1 : 0)
#define d14 (((salt1 >> 14) & 1) ? -1 : 0)
#define d15 (((salt1 >> 15) & 1) ? -1 : 0)
#define d16 (((salt1 >> 16) & 1) ? -1 : 0)
#define d17 (((salt1 >> 17) & 1) ? -1 : 0)
#define d18 (((salt1 >> 18) & 1) ? -1 : 0)
#define d19 (((salt1 >> 19) & 1) ? -1 : 0)
#define d20 (((salt1 >> 20) & 1) ? -1 : 0)
#define d21 (((salt1 >> 21) & 1) ? -1 : 0)
#define d22 (((salt1 >> 22) & 1) ? -1 : 0)
#define d23 (((salt1 >> 23) & 1) ? -1 : 0)
#define d24 (((salt1 >> 24) & 1) ? -1 : 0)
#define d25 (((salt1 >> 25) & 1) ? -1 : 0)
#define d26 (((salt1 >> 26) & 1) ? -1 : 0)
#define d27 (((salt1 >> 27) & 1) ? -1 : 0)
#define d28 (((salt1 >> 28) & 1) ? -1 : 0)
#define d29 (((salt1 >> 29) & 1) ? -1 : 0)
#define d30 (((salt1 >> 30) & 1) ? -1 : 0)
#define d31 (((salt1 >> 31) & 1) ? -1 : 0)
#define d32 (((salt0 >> 0) & 1) ? -1 : 0)
#define d33 (((salt0 >> 1) & 1) ? -1 : 0)
#define d34 (((salt0 >> 2) & 1) ? -1 : 0)
#define d35 (((salt0 >> 3) & 1) ? -1 : 0)
#define d36 (((salt0 >> 4) & 1) ? -1 : 0)
#define d37 (((salt0 >> 5) & 1) ? -1 : 0)
#define d38 (((salt0 >> 6) & 1) ? -1 : 0)
#define d39 (((salt0 >> 7) & 1) ? -1 : 0)
#define d40 (((salt0 >> 8) & 1) ? -1 : 0)
#define d41 (((salt0 >> 9) & 1) ? -1 : 0)
#define d42 (((salt0 >> 10) & 1) ? -1 : 0)
#define d43 (((salt0 >> 11) & 1) ? -1 : 0)
#define d44 (((salt0 >> 12) & 1) ? -1 : 0)
#define d45 (((salt0 >> 13) & 1) ? -1 : 0)
#define d46 (((salt0 >> 14) & 1) ? -1 : 0)
#define d47 (((salt0 >> 15) & 1) ? -1 : 0)
#define d48 (((salt0 >> 16) & 1) ? -1 : 0)
#define d49 (((salt0 >> 17) & 1) ? -1 : 0)
#define d50 (((salt0 >> 18) & 1) ? -1 : 0)
#define d51 (((salt0 >> 19) & 1) ? -1 : 0)
#define d52 (((salt0 >> 20) & 1) ? -1 : 0)
#define d53 (((salt0 >> 21) & 1) ? -1 : 0)
#define d54 (((salt0 >> 22) & 1) ? -1 : 0)
#define d55 (((salt0 >> 23) & 1) ? -1 : 0)
#define d56 (((salt0 >> 24) & 1) ? -1 : 0)
#define d57 (((salt0 >> 25) & 1) ? -1 : 0)
#define d58 (((salt0 >> 26) & 1) ? -1 : 0)
#define d59 (((salt0 >> 27) & 1) ? -1 : 0)
#define d60 (((salt0 >> 28) & 1) ? -1 : 0)
#define d61 (((salt0 >> 29) & 1) ? -1 : 0)
#define d62 (((salt0 >> 30) & 1) ? -1 : 0)
#define d63 (((salt0 >> 31) & 1) ? -1 : 0)
u32 D00 = d00; const u32 d00 = (((salt1 >> 0) & 1) ? -1 : 0);
u32 D01 = d01; const u32 d01 = (((salt1 >> 1) & 1) ? -1 : 0);
u32 D02 = d02; const u32 d02 = (((salt1 >> 2) & 1) ? -1 : 0);
u32 D03 = d03; const u32 d03 = (((salt1 >> 3) & 1) ? -1 : 0);
u32 D04 = d04; const u32 d04 = (((salt1 >> 4) & 1) ? -1 : 0);
u32 D05 = d05; const u32 d05 = (((salt1 >> 5) & 1) ? -1 : 0);
u32 D06 = d06; const u32 d06 = (((salt1 >> 6) & 1) ? -1 : 0);
u32 D07 = d07; const u32 d07 = (((salt1 >> 7) & 1) ? -1 : 0);
u32 D08 = d08; const u32 d08 = (((salt1 >> 8) & 1) ? -1 : 0);
u32 D09 = d09; const u32 d09 = (((salt1 >> 9) & 1) ? -1 : 0);
u32 D10 = d10; const u32 d10 = (((salt1 >> 10) & 1) ? -1 : 0);
u32 D11 = d11; const u32 d11 = (((salt1 >> 11) & 1) ? -1 : 0);
u32 D12 = d12; const u32 d12 = (((salt1 >> 12) & 1) ? -1 : 0);
u32 D13 = d13; const u32 d13 = (((salt1 >> 13) & 1) ? -1 : 0);
u32 D14 = d14; const u32 d14 = (((salt1 >> 14) & 1) ? -1 : 0);
u32 D15 = d15; const u32 d15 = (((salt1 >> 15) & 1) ? -1 : 0);
u32 D16 = d16; const u32 d16 = (((salt1 >> 16) & 1) ? -1 : 0);
u32 D17 = d17; const u32 d17 = (((salt1 >> 17) & 1) ? -1 : 0);
u32 D18 = d18; const u32 d18 = (((salt1 >> 18) & 1) ? -1 : 0);
u32 D19 = d19; const u32 d19 = (((salt1 >> 19) & 1) ? -1 : 0);
u32 D20 = d20; const u32 d20 = (((salt1 >> 20) & 1) ? -1 : 0);
u32 D21 = d21; const u32 d21 = (((salt1 >> 21) & 1) ? -1 : 0);
u32 D22 = d22; const u32 d22 = (((salt1 >> 22) & 1) ? -1 : 0);
u32 D23 = d23; const u32 d23 = (((salt1 >> 23) & 1) ? -1 : 0);
u32 D24 = d24; const u32 d24 = (((salt1 >> 24) & 1) ? -1 : 0);
u32 D25 = d25; const u32 d25 = (((salt1 >> 25) & 1) ? -1 : 0);
u32 D26 = d26; const u32 d26 = (((salt1 >> 26) & 1) ? -1 : 0);
u32 D27 = d27; const u32 d27 = (((salt1 >> 27) & 1) ? -1 : 0);
u32 D28 = d28; const u32 d28 = (((salt1 >> 28) & 1) ? -1 : 0);
u32 D29 = d29; const u32 d29 = (((salt1 >> 29) & 1) ? -1 : 0);
u32 D30 = d30; const u32 d30 = (((salt1 >> 30) & 1) ? -1 : 0);
u32 D31 = d31; const u32 d31 = (((salt1 >> 31) & 1) ? -1 : 0);
u32 D32 = d32; const u32 d32 = (((salt0 >> 0) & 1) ? -1 : 0);
u32 D33 = d33; const u32 d33 = (((salt0 >> 1) & 1) ? -1 : 0);
u32 D34 = d34; const u32 d34 = (((salt0 >> 2) & 1) ? -1 : 0);
u32 D35 = d35; const u32 d35 = (((salt0 >> 3) & 1) ? -1 : 0);
u32 D36 = d36; const u32 d36 = (((salt0 >> 4) & 1) ? -1 : 0);
u32 D37 = d37; const u32 d37 = (((salt0 >> 5) & 1) ? -1 : 0);
u32 D38 = d38; const u32 d38 = (((salt0 >> 6) & 1) ? -1 : 0);
u32 D39 = d39; const u32 d39 = (((salt0 >> 7) & 1) ? -1 : 0);
u32 D40 = d40; const u32 d40 = (((salt0 >> 8) & 1) ? -1 : 0);
u32 D41 = d41; const u32 d41 = (((salt0 >> 9) & 1) ? -1 : 0);
u32 D42 = d42; const u32 d42 = (((salt0 >> 10) & 1) ? -1 : 0);
u32 D43 = d43; const u32 d43 = (((salt0 >> 11) & 1) ? -1 : 0);
u32 D44 = d44; const u32 d44 = (((salt0 >> 12) & 1) ? -1 : 0);
u32 D45 = d45; const u32 d45 = (((salt0 >> 13) & 1) ? -1 : 0);
u32 D46 = d46; const u32 d46 = (((salt0 >> 14) & 1) ? -1 : 0);
u32 D47 = d47; const u32 d47 = (((salt0 >> 15) & 1) ? -1 : 0);
u32 D48 = d48; const u32 d48 = (((salt0 >> 16) & 1) ? -1 : 0);
u32 D49 = d49; const u32 d49 = (((salt0 >> 17) & 1) ? -1 : 0);
u32 D50 = d50; const u32 d50 = (((salt0 >> 18) & 1) ? -1 : 0);
u32 D51 = d51; const u32 d51 = (((salt0 >> 19) & 1) ? -1 : 0);
u32 D52 = d52; const u32 d52 = (((salt0 >> 20) & 1) ? -1 : 0);
u32 D53 = d53; const u32 d53 = (((salt0 >> 21) & 1) ? -1 : 0);
u32 D54 = d54; const u32 d54 = (((salt0 >> 22) & 1) ? -1 : 0);
u32 D55 = d55; const u32 d55 = (((salt0 >> 23) & 1) ? -1 : 0);
u32 D56 = d56; const u32 d56 = (((salt0 >> 24) & 1) ? -1 : 0);
u32 D57 = d57; const u32 d57 = (((salt0 >> 25) & 1) ? -1 : 0);
u32 D58 = d58; const u32 d58 = (((salt0 >> 26) & 1) ? -1 : 0);
u32 D59 = d59; const u32 d59 = (((salt0 >> 27) & 1) ? -1 : 0);
u32 D60 = d60; const u32 d60 = (((salt0 >> 28) & 1) ? -1 : 0);
u32 D61 = d61; const u32 d61 = (((salt0 >> 29) & 1) ? -1 : 0);
u32 D62 = d62; const u32 d62 = (((salt0 >> 30) & 1) ? -1 : 0);
u32 D63 = d63; const u32 d63 = (((salt0 >> 31) & 1) ? -1 : 0);
/** /**
* base * base
@ -2032,6 +1968,71 @@ KERNEL_FQ void m14000_mxx (KERN_ATTR_BITSLICE ())
k26 |= words_buf_s[pc_pos].b[26]; k26 |= words_buf_s[pc_pos].b[26];
k27 |= words_buf_s[pc_pos].b[27]; k27 |= words_buf_s[pc_pos].b[27];
u32 D00 = d00;
u32 D01 = d01;
u32 D02 = d02;
u32 D03 = d03;
u32 D04 = d04;
u32 D05 = d05;
u32 D06 = d06;
u32 D07 = d07;
u32 D08 = d08;
u32 D09 = d09;
u32 D10 = d10;
u32 D11 = d11;
u32 D12 = d12;
u32 D13 = d13;
u32 D14 = d14;
u32 D15 = d15;
u32 D16 = d16;
u32 D17 = d17;
u32 D18 = d18;
u32 D19 = d19;
u32 D20 = d20;
u32 D21 = d21;
u32 D22 = d22;
u32 D23 = d23;
u32 D24 = d24;
u32 D25 = d25;
u32 D26 = d26;
u32 D27 = d27;
u32 D28 = d28;
u32 D29 = d29;
u32 D30 = d30;
u32 D31 = d31;
u32 D32 = d32;
u32 D33 = d33;
u32 D34 = d34;
u32 D35 = d35;
u32 D36 = d36;
u32 D37 = d37;
u32 D38 = d38;
u32 D39 = d39;
u32 D40 = d40;
u32 D41 = d41;
u32 D42 = d42;
u32 D43 = d43;
u32 D44 = d44;
u32 D45 = d45;
u32 D46 = d46;
u32 D47 = d47;
u32 D48 = d48;
u32 D49 = d49;
u32 D50 = d50;
u32 D51 = d51;
u32 D52 = d52;
u32 D53 = d53;
u32 D54 = d54;
u32 D55 = d55;
u32 D56 = d56;
u32 D57 = d57;
u32 D58 = d58;
u32 D59 = d59;
u32 D60 = d60;
u32 D61 = d61;
u32 D62 = d62;
u32 D63 = d63;
DES DES
( (
k00, k01, k02, k03, k04, k05, k06, k00, k01, k02, k03, k04, k05, k06,
@ -2213,135 +2214,70 @@ KERNEL_FQ void m14000_sxx (KERN_ATTR_BITSLICE ())
// salt1 first, because this is a 64 bit value actually // salt1 first, because this is a 64 bit value actually
#define d00 (((salt1 >> 0) & 1) ? -1 : 0) const u32 d00 = (((salt1 >> 0) & 1) ? -1 : 0);
#define d01 (((salt1 >> 1) & 1) ? -1 : 0) const u32 d01 = (((salt1 >> 1) & 1) ? -1 : 0);
#define d02 (((salt1 >> 2) & 1) ? -1 : 0) const u32 d02 = (((salt1 >> 2) & 1) ? -1 : 0);
#define d03 (((salt1 >> 3) & 1) ? -1 : 0) const u32 d03 = (((salt1 >> 3) & 1) ? -1 : 0);
#define d04 (((salt1 >> 4) & 1) ? -1 : 0) const u32 d04 = (((salt1 >> 4) & 1) ? -1 : 0);
#define d05 (((salt1 >> 5) & 1) ? -1 : 0) const u32 d05 = (((salt1 >> 5) & 1) ? -1 : 0);
#define d06 (((salt1 >> 6) & 1) ? -1 : 0) const u32 d06 = (((salt1 >> 6) & 1) ? -1 : 0);
#define d07 (((salt1 >> 7) & 1) ? -1 : 0) const u32 d07 = (((salt1 >> 7) & 1) ? -1 : 0);
#define d08 (((salt1 >> 8) & 1) ? -1 : 0) const u32 d08 = (((salt1 >> 8) & 1) ? -1 : 0);
#define d09 (((salt1 >> 9) & 1) ? -1 : 0) const u32 d09 = (((salt1 >> 9) & 1) ? -1 : 0);
#define d10 (((salt1 >> 10) & 1) ? -1 : 0) const u32 d10 = (((salt1 >> 10) & 1) ? -1 : 0);
#define d11 (((salt1 >> 11) & 1) ? -1 : 0) const u32 d11 = (((salt1 >> 11) & 1) ? -1 : 0);
#define d12 (((salt1 >> 12) & 1) ? -1 : 0) const u32 d12 = (((salt1 >> 12) & 1) ? -1 : 0);
#define d13 (((salt1 >> 13) & 1) ? -1 : 0) const u32 d13 = (((salt1 >> 13) & 1) ? -1 : 0);
#define d14 (((salt1 >> 14) & 1) ? -1 : 0) const u32 d14 = (((salt1 >> 14) & 1) ? -1 : 0);
#define d15 (((salt1 >> 15) & 1) ? -1 : 0) const u32 d15 = (((salt1 >> 15) & 1) ? -1 : 0);
#define d16 (((salt1 >> 16) & 1) ? -1 : 0) const u32 d16 = (((salt1 >> 16) & 1) ? -1 : 0);
#define d17 (((salt1 >> 17) & 1) ? -1 : 0) const u32 d17 = (((salt1 >> 17) & 1) ? -1 : 0);
#define d18 (((salt1 >> 18) & 1) ? -1 : 0) const u32 d18 = (((salt1 >> 18) & 1) ? -1 : 0);
#define d19 (((salt1 >> 19) & 1) ? -1 : 0) const u32 d19 = (((salt1 >> 19) & 1) ? -1 : 0);
#define d20 (((salt1 >> 20) & 1) ? -1 : 0) const u32 d20 = (((salt1 >> 20) & 1) ? -1 : 0);
#define d21 (((salt1 >> 21) & 1) ? -1 : 0) const u32 d21 = (((salt1 >> 21) & 1) ? -1 : 0);
#define d22 (((salt1 >> 22) & 1) ? -1 : 0) const u32 d22 = (((salt1 >> 22) & 1) ? -1 : 0);
#define d23 (((salt1 >> 23) & 1) ? -1 : 0) const u32 d23 = (((salt1 >> 23) & 1) ? -1 : 0);
#define d24 (((salt1 >> 24) & 1) ? -1 : 0) const u32 d24 = (((salt1 >> 24) & 1) ? -1 : 0);
#define d25 (((salt1 >> 25) & 1) ? -1 : 0) const u32 d25 = (((salt1 >> 25) & 1) ? -1 : 0);
#define d26 (((salt1 >> 26) & 1) ? -1 : 0) const u32 d26 = (((salt1 >> 26) & 1) ? -1 : 0);
#define d27 (((salt1 >> 27) & 1) ? -1 : 0) const u32 d27 = (((salt1 >> 27) & 1) ? -1 : 0);
#define d28 (((salt1 >> 28) & 1) ? -1 : 0) const u32 d28 = (((salt1 >> 28) & 1) ? -1 : 0);
#define d29 (((salt1 >> 29) & 1) ? -1 : 0) const u32 d29 = (((salt1 >> 29) & 1) ? -1 : 0);
#define d30 (((salt1 >> 30) & 1) ? -1 : 0) const u32 d30 = (((salt1 >> 30) & 1) ? -1 : 0);
#define d31 (((salt1 >> 31) & 1) ? -1 : 0) const u32 d31 = (((salt1 >> 31) & 1) ? -1 : 0);
#define d32 (((salt0 >> 0) & 1) ? -1 : 0) const u32 d32 = (((salt0 >> 0) & 1) ? -1 : 0);
#define d33 (((salt0 >> 1) & 1) ? -1 : 0) const u32 d33 = (((salt0 >> 1) & 1) ? -1 : 0);
#define d34 (((salt0 >> 2) & 1) ? -1 : 0) const u32 d34 = (((salt0 >> 2) & 1) ? -1 : 0);
#define d35 (((salt0 >> 3) & 1) ? -1 : 0) const u32 d35 = (((salt0 >> 3) & 1) ? -1 : 0);
#define d36 (((salt0 >> 4) & 1) ? -1 : 0) const u32 d36 = (((salt0 >> 4) & 1) ? -1 : 0);
#define d37 (((salt0 >> 5) & 1) ? -1 : 0) const u32 d37 = (((salt0 >> 5) & 1) ? -1 : 0);
#define d38 (((salt0 >> 6) & 1) ? -1 : 0) const u32 d38 = (((salt0 >> 6) & 1) ? -1 : 0);
#define d39 (((salt0 >> 7) & 1) ? -1 : 0) const u32 d39 = (((salt0 >> 7) & 1) ? -1 : 0);
#define d40 (((salt0 >> 8) & 1) ? -1 : 0) const u32 d40 = (((salt0 >> 8) & 1) ? -1 : 0);
#define d41 (((salt0 >> 9) & 1) ? -1 : 0) const u32 d41 = (((salt0 >> 9) & 1) ? -1 : 0);
#define d42 (((salt0 >> 10) & 1) ? -1 : 0) const u32 d42 = (((salt0 >> 10) & 1) ? -1 : 0);
#define d43 (((salt0 >> 11) & 1) ? -1 : 0) const u32 d43 = (((salt0 >> 11) & 1) ? -1 : 0);
#define d44 (((salt0 >> 12) & 1) ? -1 : 0) const u32 d44 = (((salt0 >> 12) & 1) ? -1 : 0);
#define d45 (((salt0 >> 13) & 1) ? -1 : 0) const u32 d45 = (((salt0 >> 13) & 1) ? -1 : 0);
#define d46 (((salt0 >> 14) & 1) ? -1 : 0) const u32 d46 = (((salt0 >> 14) & 1) ? -1 : 0);
#define d47 (((salt0 >> 15) & 1) ? -1 : 0) const u32 d47 = (((salt0 >> 15) & 1) ? -1 : 0);
#define d48 (((salt0 >> 16) & 1) ? -1 : 0) const u32 d48 = (((salt0 >> 16) & 1) ? -1 : 0);
#define d49 (((salt0 >> 17) & 1) ? -1 : 0) const u32 d49 = (((salt0 >> 17) & 1) ? -1 : 0);
#define d50 (((salt0 >> 18) & 1) ? -1 : 0) const u32 d50 = (((salt0 >> 18) & 1) ? -1 : 0);
#define d51 (((salt0 >> 19) & 1) ? -1 : 0) const u32 d51 = (((salt0 >> 19) & 1) ? -1 : 0);
#define d52 (((salt0 >> 20) & 1) ? -1 : 0) const u32 d52 = (((salt0 >> 20) & 1) ? -1 : 0);
#define d53 (((salt0 >> 21) & 1) ? -1 : 0) const u32 d53 = (((salt0 >> 21) & 1) ? -1 : 0);
#define d54 (((salt0 >> 22) & 1) ? -1 : 0) const u32 d54 = (((salt0 >> 22) & 1) ? -1 : 0);
#define d55 (((salt0 >> 23) & 1) ? -1 : 0) const u32 d55 = (((salt0 >> 23) & 1) ? -1 : 0);
#define d56 (((salt0 >> 24) & 1) ? -1 : 0) const u32 d56 = (((salt0 >> 24) & 1) ? -1 : 0);
#define d57 (((salt0 >> 25) & 1) ? -1 : 0) const u32 d57 = (((salt0 >> 25) & 1) ? -1 : 0);
#define d58 (((salt0 >> 26) & 1) ? -1 : 0) const u32 d58 = (((salt0 >> 26) & 1) ? -1 : 0);
#define d59 (((salt0 >> 27) & 1) ? -1 : 0) const u32 d59 = (((salt0 >> 27) & 1) ? -1 : 0);
#define d60 (((salt0 >> 28) & 1) ? -1 : 0) const u32 d60 = (((salt0 >> 28) & 1) ? -1 : 0);
#define d61 (((salt0 >> 29) & 1) ? -1 : 0) const u32 d61 = (((salt0 >> 29) & 1) ? -1 : 0);
#define d62 (((salt0 >> 30) & 1) ? -1 : 0) const u32 d62 = (((salt0 >> 30) & 1) ? -1 : 0);
#define d63 (((salt0 >> 31) & 1) ? -1 : 0) const u32 d63 = (((salt0 >> 31) & 1) ? -1 : 0);
u32 D00 = d00;
u32 D01 = d01;
u32 D02 = d02;
u32 D03 = d03;
u32 D04 = d04;
u32 D05 = d05;
u32 D06 = d06;
u32 D07 = d07;
u32 D08 = d08;
u32 D09 = d09;
u32 D10 = d10;
u32 D11 = d11;
u32 D12 = d12;
u32 D13 = d13;
u32 D14 = d14;
u32 D15 = d15;
u32 D16 = d16;
u32 D17 = d17;
u32 D18 = d18;
u32 D19 = d19;
u32 D20 = d20;
u32 D21 = d21;
u32 D22 = d22;
u32 D23 = d23;
u32 D24 = d24;
u32 D25 = d25;
u32 D26 = d26;
u32 D27 = d27;
u32 D28 = d28;
u32 D29 = d29;
u32 D30 = d30;
u32 D31 = d31;
u32 D32 = d32;
u32 D33 = d33;
u32 D34 = d34;
u32 D35 = d35;
u32 D36 = d36;
u32 D37 = d37;
u32 D38 = d38;
u32 D39 = d39;
u32 D40 = d40;
u32 D41 = d41;
u32 D42 = d42;
u32 D43 = d43;
u32 D44 = d44;
u32 D45 = d45;
u32 D46 = d46;
u32 D47 = d47;
u32 D48 = d48;
u32 D49 = d49;
u32 D50 = d50;
u32 D51 = d51;
u32 D52 = d52;
u32 D53 = d53;
u32 D54 = d54;
u32 D55 = d55;
u32 D56 = d56;
u32 D57 = d57;
u32 D58 = d58;
u32 D59 = d59;
u32 D60 = d60;
u32 D61 = d61;
u32 D62 = d62;
u32 D63 = d63;
/** /**
* digest * digest
@ -2545,6 +2481,71 @@ KERNEL_FQ void m14000_sxx (KERN_ATTR_BITSLICE ())
k26 |= words_buf_s[pc_pos].b[26]; k26 |= words_buf_s[pc_pos].b[26];
k27 |= words_buf_s[pc_pos].b[27]; k27 |= words_buf_s[pc_pos].b[27];
u32 D00 = d00;
u32 D01 = d01;
u32 D02 = d02;
u32 D03 = d03;
u32 D04 = d04;
u32 D05 = d05;
u32 D06 = d06;
u32 D07 = d07;
u32 D08 = d08;
u32 D09 = d09;
u32 D10 = d10;
u32 D11 = d11;
u32 D12 = d12;
u32 D13 = d13;
u32 D14 = d14;
u32 D15 = d15;
u32 D16 = d16;
u32 D17 = d17;
u32 D18 = d18;
u32 D19 = d19;
u32 D20 = d20;
u32 D21 = d21;
u32 D22 = d22;
u32 D23 = d23;
u32 D24 = d24;
u32 D25 = d25;
u32 D26 = d26;
u32 D27 = d27;
u32 D28 = d28;
u32 D29 = d29;
u32 D30 = d30;
u32 D31 = d31;
u32 D32 = d32;
u32 D33 = d33;
u32 D34 = d34;
u32 D35 = d35;
u32 D36 = d36;
u32 D37 = d37;
u32 D38 = d38;
u32 D39 = d39;
u32 D40 = d40;
u32 D41 = d41;
u32 D42 = d42;
u32 D43 = d43;
u32 D44 = d44;
u32 D45 = d45;
u32 D46 = d46;
u32 D47 = d47;
u32 D48 = d48;
u32 D49 = d49;
u32 D50 = d50;
u32 D51 = d51;
u32 D52 = d52;
u32 D53 = d53;
u32 D54 = d54;
u32 D55 = d55;
u32 D56 = d56;
u32 D57 = d57;
u32 D58 = d58;
u32 D59 = d59;
u32 D60 = d60;
u32 D61 = d61;
u32 D62 = d62;
u32 D63 = d63;
DES DES
( (
k00, k01, k02, k03, k04, k05, k06, k00, k01, k02, k03, k04, k05, k06,

View File

@ -421,7 +421,7 @@ KERNEL_FQ void m20900_m04 (KERN_ATTR_RULES ())
_w2[0] = 0; _w2[0] = 0;
_w2[1] = 0; _w2[1] = 0;
_w2[2] = 0; _w2[2] = 0;
_w2[3] = 0; _w2[3] = 0;
_w3[0] = 0; _w3[0] = 0;
_w3[1] = 0; _w3[1] = 0;
@ -593,7 +593,7 @@ KERNEL_FQ void m20900_m04 (KERN_ATTR_RULES ())
_w2[1] = uint_to_hex_lower8 ((e0 >> 8) & 255) << 0 _w2[1] = uint_to_hex_lower8 ((e0 >> 8) & 255) << 0
| uint_to_hex_lower8 ((e0 >> 0) & 255) << 16; | uint_to_hex_lower8 ((e0 >> 0) & 255) << 16;
_w2[2] = 0; _w2[2] = 0;
_w2[3] = 0; _w2[3] = 0;
_w3[0] = 0; _w3[0] = 0;
_w3[1] = 0; _w3[1] = 0;
@ -1143,7 +1143,7 @@ KERNEL_FQ void m20900_s04 (KERN_ATTR_RULES ())
_w2[0] = 0; _w2[0] = 0;
_w2[1] = 0; _w2[1] = 0;
_w2[2] = 0; _w2[2] = 0;
_w2[3] = 0; _w2[3] = 0;
_w3[0] = 0; _w3[0] = 0;
_w3[1] = 0; _w3[1] = 0;
@ -1315,7 +1315,7 @@ KERNEL_FQ void m20900_s04 (KERN_ATTR_RULES ())
_w2[1] = uint_to_hex_lower8 ((e0 >> 8) & 255) << 0 _w2[1] = uint_to_hex_lower8 ((e0 >> 8) & 255) << 0
| uint_to_hex_lower8 ((e0 >> 0) & 255) << 16; | uint_to_hex_lower8 ((e0 >> 0) & 255) << 16;
_w2[2] = 0; _w2[2] = 0;
_w2[3] = 0; _w2[3] = 0;
_w3[0] = 0; _w3[0] = 0;
_w3[1] = 0; _w3[1] = 0;

View File

@ -477,7 +477,7 @@ KERNEL_FQ void m20900_m04 (KERN_ATTR_BASIC ())
_w2[0] = 0; _w2[0] = 0;
_w2[1] = 0; _w2[1] = 0;
_w2[2] = 0; _w2[2] = 0;
_w2[3] = 0; _w2[3] = 0;
_w3[0] = 0; _w3[0] = 0;
_w3[1] = 0; _w3[1] = 0;
@ -649,7 +649,7 @@ KERNEL_FQ void m20900_m04 (KERN_ATTR_BASIC ())
_w2[1] = uint_to_hex_lower8 ((e0 >> 8) & 255) << 0 _w2[1] = uint_to_hex_lower8 ((e0 >> 8) & 255) << 0
| uint_to_hex_lower8 ((e0 >> 0) & 255) << 16; | uint_to_hex_lower8 ((e0 >> 0) & 255) << 16;
_w2[2] = 0; _w2[2] = 0;
_w2[3] = 0; _w2[3] = 0;
_w3[0] = 0; _w3[0] = 0;
_w3[1] = 0; _w3[1] = 0;
@ -1257,7 +1257,7 @@ KERNEL_FQ void m20900_s04 (KERN_ATTR_BASIC ())
_w2[0] = 0; _w2[0] = 0;
_w2[1] = 0; _w2[1] = 0;
_w2[2] = 0; _w2[2] = 0;
_w2[3] = 0; _w2[3] = 0;
_w3[0] = 0; _w3[0] = 0;
_w3[1] = 0; _w3[1] = 0;
@ -1429,7 +1429,7 @@ KERNEL_FQ void m20900_s04 (KERN_ATTR_BASIC ())
_w2[1] = uint_to_hex_lower8 ((e0 >> 8) & 255) << 0 _w2[1] = uint_to_hex_lower8 ((e0 >> 8) & 255) << 0
| uint_to_hex_lower8 ((e0 >> 0) & 255) << 16; | uint_to_hex_lower8 ((e0 >> 0) & 255) << 16;
_w2[2] = 0; _w2[2] = 0;
_w2[3] = 0; _w2[3] = 0;
_w3[0] = 0; _w3[0] = 0;
_w3[1] = 0; _w3[1] = 0;

View File

@ -378,7 +378,7 @@ DECLSPEC void m20900m (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, KER
_w2[0] = 0; _w2[0] = 0;
_w2[1] = 0; _w2[1] = 0;
_w2[2] = 0; _w2[2] = 0;
_w2[3] = 0; _w2[3] = 0;
_w3[0] = 0; _w3[0] = 0;
_w3[1] = 0; _w3[1] = 0;
@ -550,7 +550,7 @@ DECLSPEC void m20900m (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, KER
_w2[1] = uint_to_hex_lower8 ((e0 >> 8) & 255) << 0 _w2[1] = uint_to_hex_lower8 ((e0 >> 8) & 255) << 0
| uint_to_hex_lower8 ((e0 >> 0) & 255) << 16; | uint_to_hex_lower8 ((e0 >> 0) & 255) << 16;
_w2[2] = 0; _w2[2] = 0;
_w2[3] = 0; _w2[3] = 0;
_w3[0] = 0; _w3[0] = 0;
_w3[1] = 0; _w3[1] = 0;
@ -1051,7 +1051,7 @@ DECLSPEC void m20900s (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, KER
_w2[0] = 0; _w2[0] = 0;
_w2[1] = 0; _w2[1] = 0;
_w2[2] = 0; _w2[2] = 0;
_w2[3] = 0; _w2[3] = 0;
_w3[0] = 0; _w3[0] = 0;
_w3[1] = 0; _w3[1] = 0;
@ -1223,7 +1223,7 @@ DECLSPEC void m20900s (u32 *w0, u32 *w1, u32 *w2, u32 *w3, const u32 pw_len, KER
_w2[1] = uint_to_hex_lower8 ((e0 >> 8) & 255) << 0 _w2[1] = uint_to_hex_lower8 ((e0 >> 8) & 255) << 0
| uint_to_hex_lower8 ((e0 >> 0) & 255) << 16; | uint_to_hex_lower8 ((e0 >> 0) & 255) << 16;
_w2[2] = 0; _w2[2] = 0;
_w2[3] = 0; _w2[3] = 0;
_w3[0] = 0; _w3[0] = 0;
_w3[1] = 0; _w3[1] = 0;

View File

@ -6,6 +6,12 @@
- Added pure kernels for hash-mode 600 (BLAKE2b-512) - Added pure kernels for hash-mode 600 (BLAKE2b-512)
##
## Bugs
##
- Fixed uninitialized value in bitsliced DES kernel (BF mode only) leading to false negatives
## ##
## Improvements ## Improvements
## ##

View File

@ -36,7 +36,7 @@ BlowCane chancas Chick3nman coolbry95 dakykilla
deutsch dropdead epixoip EvilMog franky deutsch dropdead epixoip EvilMog franky
gpufreak hashtka Hydraze J0hnnyBrav0 K9 gpufreak hashtka Hydraze J0hnnyBrav0 K9
kontrast23 Kryczek legion m3g9tr0n matrix kontrast23 Kryczek legion m3g9tr0n matrix
minga N|IGHT5 NSAKEY NullMode philsmd Minga N|IGHT5 _NSAKEY NullMode philsmd
purehate radix Rolf rurapenthe s3in!c purehate radix Rolf rurapenthe s3in!c
SuperJames Szul tehnlulz The_Mechanic T0XlC SuperJames Szul tehnlulz The_Mechanic T0XlC
TychoTithonus undeath unix-ninja Xanadrel xmisery TychoTithonus undeath unix-ninja Xanadrel xmisery

View File

@ -471,7 +471,7 @@ static void main_outerloop_mainscreen (MAYBE_UNUSED hashcat_ctx_t *hashcat_ctx,
if (hashconfig->opti_type) if (hashconfig->opti_type)
{ {
event_log_info (hashcat_ctx, "Applicable optimizers:"); event_log_info (hashcat_ctx, "Applicable optimizers applied:");
for (u32 i = 0; i < 32; i++) for (u32 i = 0; i < 32; i++)
{ {

View File

@ -22,7 +22,6 @@ static const u64 KERN_TYPE = 7500;
static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE
| OPTI_TYPE_NOT_ITERATED; | OPTI_TYPE_NOT_ITERATED;
static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE; static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE;
static const u32 PWDUMP_COLUMN = PWDUMP_COLUMN_NTLM_HASH;
static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED;
static const char *ST_PASS = "hashcat"; static const char *ST_PASS = "hashcat";
static const char *ST_HASH = "$krb5pa$23$user$realm$salt$5cbb0c882a2b26956e81644edbdb746326f4f5f0e947144fb3095dffe4b4b03e854fc1d631323632303636373330383333353630"; static const char *ST_HASH = "$krb5pa$23$user$realm$salt$5cbb0c882a2b26956e81644edbdb746326f4f5f0e947144fb3095dffe4b4b03e854fc1d631323632303636373330383333353630";
@ -38,7 +37,6 @@ const char *module_hash_name (MAYBE_UNUSED const hashconfig_t *hashconfig,
u64 module_kern_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return KERN_TYPE; } u64 module_kern_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return KERN_TYPE; }
u32 module_opti_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return OPTI_TYPE; } u32 module_opti_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return OPTI_TYPE; }
u64 module_opts_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return OPTS_TYPE; } u64 module_opts_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return OPTS_TYPE; }
u32 module_pwdump_column (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return PWDUMP_COLUMN; }
u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return SALT_TYPE; } u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return SALT_TYPE; }
const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; }
const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; }
@ -305,7 +303,7 @@ void module_init (module_ctx_t *module_ctx)
module_ctx->module_potfile_custom_check = MODULE_DEFAULT; module_ctx->module_potfile_custom_check = MODULE_DEFAULT;
module_ctx->module_potfile_disable = MODULE_DEFAULT; module_ctx->module_potfile_disable = MODULE_DEFAULT;
module_ctx->module_potfile_keep_all_hashes = MODULE_DEFAULT; module_ctx->module_potfile_keep_all_hashes = MODULE_DEFAULT;
module_ctx->module_pwdump_column = module_pwdump_column; module_ctx->module_pwdump_column = MODULE_DEFAULT;
module_ctx->module_pw_max = MODULE_DEFAULT; module_ctx->module_pw_max = MODULE_DEFAULT;
module_ctx->module_pw_min = MODULE_DEFAULT; module_ctx->module_pw_min = MODULE_DEFAULT;
module_ctx->module_salt_max = MODULE_DEFAULT; module_ctx->module_salt_max = MODULE_DEFAULT;

View File

@ -22,7 +22,6 @@ static const u64 KERN_TYPE = 18200;
static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE static const u32 OPTI_TYPE = OPTI_TYPE_ZERO_BYTE
| OPTI_TYPE_NOT_ITERATED; | OPTI_TYPE_NOT_ITERATED;
static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE; static const u64 OPTS_TYPE = OPTS_TYPE_PT_GENERATE_LE;
static const u32 PWDUMP_COLUMN = PWDUMP_COLUMN_NTLM_HASH;
static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED; static const u32 SALT_TYPE = SALT_TYPE_EMBEDDED;
static const char *ST_PASS = "hashcat"; static const char *ST_PASS = "hashcat";
static const char *ST_HASH = "$krb5asrep$23$user@domain.com:3e156ada591263b8aab0965f5aebd837$007497cb51b6c8116d6407a782ea0e1c5402b17db7afa6b05a6d30ed164a9933c754d720e279c6c573679bd27128fe77e5fea1f72334c1193c8ff0b370fadc6368bf2d49bbfdba4c5dccab95e8c8ebfdc75f438a0797dbfb2f8a1a5f4c423f9bfc1fea483342a11bd56a216f4d5158ccc4b224b52894fadfba3957dfe4b6b8f5f9f9fe422811a314768673e0c924340b8ccb84775ce9defaa3baa0910b676ad0036d13032b0dd94e3b13903cc738a7b6d00b0b3c210d1f972a6c7cae9bd3c959acf7565be528fc179118f28c679f6deeee1456f0781eb8154e18e49cb27b64bf74cd7112a0ebae2102ac"; static const char *ST_HASH = "$krb5asrep$23$user@domain.com:3e156ada591263b8aab0965f5aebd837$007497cb51b6c8116d6407a782ea0e1c5402b17db7afa6b05a6d30ed164a9933c754d720e279c6c573679bd27128fe77e5fea1f72334c1193c8ff0b370fadc6368bf2d49bbfdba4c5dccab95e8c8ebfdc75f438a0797dbfb2f8a1a5f4c423f9bfc1fea483342a11bd56a216f4d5158ccc4b224b52894fadfba3957dfe4b6b8f5f9f9fe422811a314768673e0c924340b8ccb84775ce9defaa3baa0910b676ad0036d13032b0dd94e3b13903cc738a7b6d00b0b3c210d1f972a6c7cae9bd3c959acf7565be528fc179118f28c679f6deeee1456f0781eb8154e18e49cb27b64bf74cd7112a0ebae2102ac";
@ -38,7 +37,6 @@ const char *module_hash_name (MAYBE_UNUSED const hashconfig_t *hashconfig,
u64 module_kern_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return KERN_TYPE; } u64 module_kern_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return KERN_TYPE; }
u32 module_opti_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return OPTI_TYPE; } u32 module_opti_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return OPTI_TYPE; }
u64 module_opts_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return OPTS_TYPE; } u64 module_opts_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return OPTS_TYPE; }
u32 module_pwdump_column (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return PWDUMP_COLUMN; }
u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return SALT_TYPE; } u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return SALT_TYPE; }
const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; }
const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; }
@ -301,7 +299,7 @@ void module_init (module_ctx_t *module_ctx)
module_ctx->module_potfile_custom_check = MODULE_DEFAULT; module_ctx->module_potfile_custom_check = MODULE_DEFAULT;
module_ctx->module_potfile_disable = MODULE_DEFAULT; module_ctx->module_potfile_disable = MODULE_DEFAULT;
module_ctx->module_potfile_keep_all_hashes = MODULE_DEFAULT; module_ctx->module_potfile_keep_all_hashes = MODULE_DEFAULT;
module_ctx->module_pwdump_column = module_pwdump_column; module_ctx->module_pwdump_column = MODULE_DEFAULT;
module_ctx->module_pw_max = MODULE_DEFAULT; module_ctx->module_pw_max = MODULE_DEFAULT;
module_ctx->module_pw_min = MODULE_DEFAULT; module_ctx->module_pw_min = MODULE_DEFAULT;
module_ctx->module_salt_max = MODULE_DEFAULT; module_ctx->module_salt_max = MODULE_DEFAULT;