[HN Gopher] Bombe Machine on an FPGA
___________________________________________________________________
Bombe Machine on an FPGA
Author : vha3
Score : 26 points
Date : 2022-05-20 20:17 UTC (2 hours ago)
(HTM) web link (people.ece.cornell.edu)
(TXT) w3m dump (people.ece.cornell.edu)
| vha3 wrote:
| Students implemented a Bombe Machine on a DE1-SoC.
| dekhn wrote:
| Does anybody know if something like this could be implemented
| using a library like Jax?
|
| It's a bit outside my area, but I've seen a few encryption, or
| maybe signature breaking tools that somehow managed to apply some
| very cool linear algebra to guess at the bits directly using the
| gradient of the encryption function (can't find a nice link now)
| pjsg wrote:
| I would like to have seen the decryption of a known WWII German
| message to verify that all the little details are correct.
| tialaramex wrote:
| The Bombe doesn't decrypt Enigma encrypted messages.
|
| What it does is figure out which keys (initial rotor positions
| and plugboard settings) are logically consistent with the
| information you have, eliminating the bulk of possibilities and
| leaving humans to do the remaining work. In an actual Bombe (or
| the replica at Bletchley today) this results in a "stop" - the
| machine trying every possibility halts because the combination
| it's trying now isn't logically impossible. Humans then take
| the result of the "stop" and check whether they can decrypt the
| message, the Bombe can continue searching for other
| possibilities.
|
| The logical inconsistency results from the fact that Enigma
| _guarantees_ that any symbol X will encrypt to some _different_
| symbol. It will never encrypt to X. If that seems to happen it
| 's an inconsistency and this can't be the correct key, try
| again.
|
| This is a grave problem with designs like Enigma, and it's one
| reason why Enigma is the dying gasp of this approach, if you've
| got something like Lorenz you can't rule out any of the keys by
| logical contradiction like the Bombes, just as you can't with
| modern ciphers.
| nullc wrote:
| To elaborate a little further:
|
| The attack this device implements requires you to have a run
| of known plaintext and its corresponding ciphertext, with
| correct alignment between the two.
|
| The bombe searches for keying configurations that could have
| produced that encipherment. When you find one, you can go
| test if it decrypts the rest of the message into german or
| gibberish.
___________________________________________________________________
(page generated 2022-05-20 23:00 UTC)