just to not be cruel, it's an m3 without UKW-D, 3 rotors and a plugboard :)
EDIT: I think I answered my question looking at the code. There are a lot more rotors known (see cryptomuseum). Some things I found while writing an enigma: many online enigmas have some bugs with double stepping the wheel on a single press, which the machine did not do. The Humboldt University Berlin's online enigma is correct. There is also a very similar machine used by the Soviets until the 1980s that you can probably represent with the same datastructures called Fialka: https://en.wikipedia.org/wiki/Fialka.
My test case that returns different results on different emulators is: M3, rotors III, II, I, no ring setting, UKW-B, starting position AEQ. The string ABCDEFGHIJ produces OMUQBCLPVR in minarke.c and produces LUINDKMWNH in the University Humboldt Berlin enigma. I believe the latter is correct.
Hey, I'm the original author of the repo -- I noticed a bunch of stars coming in and figured it was coming from Hacker News, heh.
I should probably go and make it clearer in the README, but you're right, by no means is it a full Enigma implementation. It mostly started as a translation of code described in [this post](http://practicalcryptography.com/ciphers/mechanical-era/enig...) from C to Rust (since I was a naïve undergrad interested in Rust).
At some point it would be cool to add the full Enigma functionality. Do you have any guidance for test cases and/or reference implementations?
I also had a fast version in c++ that could trivially brute force messages with an index of coincidence kind of attack, but can't find that code after a quick search of github :(
just to not be cruel, it's an m3 without UKW-D, 3 rotors and a plugboard :)
EDIT: I think I answered my question looking at the code. There are a lot more rotors known (see cryptomuseum). Some things I found while writing an enigma: many online enigmas have some bugs with double stepping the wheel on a single press, which the machine did not do. The Humboldt University Berlin's online enigma is correct. There is also a very similar machine used by the Soviets until the 1980s that you can probably represent with the same datastructures called Fialka: https://en.wikipedia.org/wiki/Fialka.
My test case that returns different results on different emulators is: M3, rotors III, II, I, no ring setting, UKW-B, starting position AEQ. The string ABCDEFGHIJ produces OMUQBCLPVR in minarke.c and produces LUINDKMWNH in the University Humboldt Berlin enigma. I believe the latter is correct.