« on: 13/01/2018 15:07:28 »
The standard way that the Enigma was used was that the beginning of the plaintext was 3 characters, repeated.The thing is, even with brute force you still have to have a model of the plaintext data.I know.
In addition you don't have enough letters in your plaintext. Because it's shorter than the keyspace, it's probable there's multiple valid plaintexts that could produce that encrypted output.
I also know I'm not the one who said " Most of them will fail in six memory lookups at the first hurdle."
So, show me how most of the zillion possibilities are excluded in 6 lookups.
So if you run a trial decrypt on the first and 4th character, and they aren't the same, then you've ruled out those settings and you can go onto the next.
Except when the rightmost wheel has rolled over and bumped the next wheel, which for the sake of this not being a cryptographic forum, only the rightmost wheel has moved.
So if: P'(W1'(W2'(W3'(R(W3(W2(W1(P(e1)))))))))) != P'(W1+4'(W2'(W3'(R(W3(W2(W1+4(P(e4))))))))))
Then you can stop immediately, and go onto the next wheel settings.
And that's the typical case: that they DON'T match. If they do match, you check the next letter of the station code, and only if they match do you check the third. That reduces the amount of work done per setting by thousands. If the result is a plausible station code then you can perform a much longer check on the rest of the alleged plaintext looking for plausible bigrams.
It would also be instructive to see how many clock cycles it takes to actually "run" thisNah. It's 6 additions and 9 memory lookups, there's pipelining so the additions and lookups will happen in parallel, and the table lookups should fit in the on-chip caches. If they don't fit, then yes, it would be very slow, and you've picked the wrong processor for this workload. Also, processors these days are superscalar, so you can write the code to run several decode attempts running in parallel on different cores, this kind of thing parallelises really, really well.
I suspect it's over 1000
The following users thanked this post: homebrewer