{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/learning-the-enigma-with-recurrent-neural","title":"Learning the Enigma with Recurrent Neural Networks","arxiv_id":"1708.07576","date":"2017-08-24","proceeding":null,"authors":["Sam Greydanus"],"abstract":"Recurrent neural networks (RNNs) represent the state of the art in\ntranslation, image captioning, and speech recognition. They are also capable of\nlearning algorithmic tasks such as long addition, copying, and sorting from a\nset of training examples. We demonstrate that RNNs can learn decryption\nalgorithms -- the mappings from plaintext to ciphertext -- for three\npolyalphabetic ciphers (Vigen\\`ere, Autokey, and Enigma). Most notably, we\ndemonstrate that an RNN with a 3000-unit Long Short-Term Memory (LSTM) cell can\nlearn the decryption function of the Enigma machine. We argue that our model\nlearns efficient internal representations of these ciphers 1) by exploring\nactivations of individual memory neurons and 2) by comparing memory usage\nacross the three ciphers. To be clear, our work is not aimed at 'cracking' the\nEnigma cipher. However, we do show that our model can perform elementary\ncryptanalysis by running known-plaintext attacks on the Vigen\\`ere and Autokey\nciphers. Our results indicate that RNNs can learn algorithmic representations\nof black box polyalphabetic ciphers and that these representations are useful\nfor cryptanalysis.","url_abs":"http://arxiv.org/abs/1708.07576v2","url_pdf":"http://arxiv.org/pdf/1708.07576v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"learning-the-enigma-with-recurrent-neural","repo_url":"https://github.com/greydanus/crypto-rnn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}}],"tasks":[{"task_slug":"cryptanalysis","task_name":"Cryptanalysis"},{"task_slug":"translation","task_name":"Translation"},{"task_slug":"speech-recognition-1","task_name":"speech-recognition"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1708.07576","atlas_url":"https://app.syntology.ai/?focus=1708.07576","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}