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