3DES with repeating key
#1
Brick 
Hello,

I'm seeking some guidance, I want to brute force a 3DES key (14100 mode).

I know brute forcing a unique 3DES key cannot be brute forced with current technology, but what if the same DES 56bit key is used 3 times over?

Can I make a custom mask that can repeat the same key 3 times - I'm new to hashcat and I notice you cannot use regex and I'm not sure if this is possible?

Can anyone help me, please be nice, I'm new to Hashcat Smile
#2
Now its ECB type triple des supported -14100
Maybe soon also CBC, it depend on atom@ :-D
But your type of des... dunno
Now its not supported
#3
Well a quick fix for you would be to rewrite the kernel to reuse the first 8 byte as input for the 2nd and 3rd DES round and do a mask attack where the last 16 byte are static.
#4
Can you do that for us atom@?
3 options
3 the same keys, 3 different keys, and two the same first and last?
One option is done :-)
#5
It depends on who you are and what the purpose is
#6
Im just a fan of your work, fan of hashcat
Nothing more
Purpose?
You prove that with 3 the same keys its possible to break des
You also show us that there is more than one key to get pt CT
With this, i dont belive in this that we need bilions years to break it
:-)
#7
I second that, my requirements are for legitimate pen testing purposes - But also I think it would be a useful addition for a password recovery tool, considering 3DES is certainly brute-forcible if the same key is applied for each encryption cycle, so why not! And it would be cool to demonstrate the weaknesses inherent in 3DES, especially if it's not properly implemented by using repeating keys.
#8
No need to proof, I know it works if the key B = A and C = A. However, I don't know of any tool doing this. Also there are other (more interessting) attack-vectors on 3des, but all of them require to do something wrong with handling 3des in the first place. There's no general error. Anyway, based on your stated purpose, I don't see a use for this in hashcat.
#9
Hi Atom,
Any chance that you could implement k1 = k3, and k1 != k2 for 3des?
Or could you show me which part of the kernel k3 is, and how to loop/feed k1 into it?
Because I have tried a few times, without any success.
Thanks.