I have a question regarding the internal wiring of the rotors of the Enigma machine.
I'm trying to understand some details about the original Enigma machine. To the best of my understanding, each rotor is nothing but a monoalphabetic substitution cipher - except that the rotors can rotate. Yeah. But the rotation is just an additional offset. The actual substitution table is encoded by the internal wiring of the rotor. And, for a specific rotor, that is completely fixed.
Now, according to Wikipedia, there were three (later five) different rotors to choose from, each one with a distinct internal wiring. We can find the substitution tables for the various different rotors (for the various Enigma models) in this article. But how have these substitution tables been chosen?
Has the internal wiring (substitution tables) of the rotors been generated according to some rules, i.e. do they need to fulfill specific requirements to ensure a "good" encryption (as good as Enigma-style encryption can be that is), or have they been chosen completely at random and one possible "randomized" wiring essentially is as good as any other? Is it known how they were chosen?
Most important: If we were to implement a "modern" Enigma machine, could we simply generate the internal wiring (substitution tables) of the rotors by using a PRNG (pseudorandom number generator) and some "key" to seed that PRNG - instead of relying on a set of pre-defined rotors?