to get full speedup the best way would probably be:
(note: I'm assuming each key is 8 bytes; adapt as needed)
1. create a wordlist with all combinations of K1 (or a reproducable subset thereof if the whole space is too large)
2. create a ruleset which appends the bytes for K2 (you can chain rulesets, hence you only need a single rules file with one rule for each byte and use that eight times)
3. as a single final rule(set) use d]]]]]]]] (this will duplicate the whole candidate (K1+K2) and then remove K2 at the end)
so your files might look like this:
K1.txt (use --hex-wordlist)
K2.rule
final.rule
modifying the existing kernel to handle everything would be a nicer solution, but also not as easy to pull off.
(note: I'm assuming each key is 8 bytes; adapt as needed)
1. create a wordlist with all combinations of K1 (or a reproducable subset thereof if the whole space is too large)
2. create a ruleset which appends the bytes for K2 (you can chain rulesets, hence you only need a single rules file with one rule for each byte and use that eight times)
3. as a single final rule(set) use d]]]]]]]] (this will duplicate the whole candidate (K1+K2) and then remove K2 at the end)
so your files might look like this:
K1.txt (use --hex-wordlist)
Code:
0000000000000000
0100000000000000
0200000000000000
…
ffffffffffffffff
K2.rule
Code:
$\x00
$\x01
…
$\xff
final.rule
Code:
d]]]]]]]]
modifying the existing kernel to handle everything would be a nicer solution, but also not as easy to pull off.