[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)