{"id":30842100,"url":"https://github.com/bmoneill/enigma","last_synced_at":"2025-10-12T16:58:39.078Z","repository":{"id":305014630,"uuid":"1017467546","full_name":"bmoneill/enigma","owner":"bmoneill","description":"Enigma machine simulator and Bombe","archived":false,"fork":false,"pushed_at":"2025-09-05T18:30:08.000Z","size":277,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-05T20:37:18.638Z","etag":null,"topics":["cipher","cli","cryptography","enigma","enigma-machine","history"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bmoneill.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-10T15:19:41.000Z","updated_at":"2025-08-10T17:30:02.000Z","dependencies_parsed_at":"2025-07-17T23:26:28.341Z","dependency_job_id":"6f1787bb-02c6-47ad-bf60-35f7c0bf7606","html_url":"https://github.com/bmoneill/enigma","commit_stats":null,"previous_names":["bmoneill/enigma"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bmoneill/enigma","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmoneill%2Fenigma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmoneill%2Fenigma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmoneill%2Fenigma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmoneill%2Fenigma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bmoneill","download_url":"https://codeload.github.com/bmoneill/enigma/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmoneill%2Fenigma/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273961593,"owners_count":25198597,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cipher","cli","cryptography","enigma","enigma-machine","history"],"created_at":"2025-09-06T20:43:55.841Z","updated_at":"2025-10-12T16:58:39.060Z","avatar_url":"https://github.com/bmoneill.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Enigma machine simulator and cryptanalysis tools\n\n[![Build Status](https://github.com/bmoneill/enigma/actions/workflows/cmake-single-platform.yml/badge.svg?branch=main)](https://github.com/bmoneill/enigma/actions/workflows/cmake-single-platform.yml).\n\nThis project aims to create a full-featured C99 library and toolset for simulating and cracking the Enigma.\n\nThe library and toolset currently supports simulating all common 3-rotor military Enigma configurations used\nin World War II. It also supports cracking ciphertext utilizing multithreaded Index of Coincidence, n-gram\nanalysis, and brute force methods.\n\n## About the Enigma\n\nThe Enigma was a cipher device used by the Germans during World War II to encrypt military communication.\nIt uses a very complex wiring system to scramble the input.\n\nWhen a key is pressed, the signal first passes through the plugboard, which swaps the letter with another according\nto its configuration. It then travels through three rotors, each further scrambling the signal. Next, the signal\nreaches the reflector, which further scrambles the signal. Then, the signal passes through the rotors again in reverse.\nFinally, the signal passes through the plugboard again, and the resulting encoded letter lights up on the lampboard.\nThe Enigma's encryption was symmetric \u0026mdash; ciphertext is decrypted using the same key as was used to create it.\n\n## Building\n\n```shell\ncmake .\ncmake --build .\n```\n\n## Documentation\n\n* [Library Documentation](https://bmoneill.github.io/enigma/).\n* [Enigma Simulator Documentation](doc/enigmacli.md).\n* [Enigma Cracking Tools Documentation](doc/enigmacrack.md).\n\n\n## Further Reading\n\n* [The Cryptographic Mathematics of Enigma](https://www.nsa.gov/portals/75/documents/about/cryptologic-heritage/historical-figures-publications/publications/wwii/CryptoMathEnigma_Miller.pdf)\n* [Enigma Cipher Machine on Crypto Museum](https://www.cryptomuseum.com/crypto/enigma/index.htm)\n* [The Turing-Welchman Bombe (National Museum of Computing)](https://www.tnmoc.org/bombe)\n* [Cracking Enigma in 2021 (Computerphile on YouTube)](https://youtu.be/RzWB5jL5RX0)\n\n## License\n\nCopyright (c) 2025 Ben O'Neill \u003cben@oneill.sh\u003e. This work is released under the\nterms of the MIT License. See [LICENSE](LICENSE) for the license terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmoneill%2Fenigma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbmoneill%2Fenigma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmoneill%2Fenigma/lists"}