The machine has several variable settings that affect the operation of the machine. The user must select three rotors from a set of rotors to be used in the machine. A rotor contains one-to-one mappings of all the letters. Some Enigma machines had more than 3 rotors which just added to the number of possible encryption combinations. The other variable element in the machine is the plug board. The plug board allowed for pairs of letters to be remapped before the encryption process started and after it ended.
When a key is pressed, an electrical current is sent through the machine. The current first passes through the plug board, then through the three rotors, through the reflector which reverses the current, back through the three rotors, back through the plug board and then the encrypted letter is lit on the display. After the display is lit up, the rotors rotate. The rotors rotate similar to an odometer where the right most rotor must complete one revolution before the middle rotor rotated one position and so on.
As the current passes through each component in the Enigma machine, the letter gets remapped to another letter. The plug board performed the first remapping. If there is a connection between two letters, the letters are remapped to each other. For example if there is a connection between "A" and "F", "A" would get remapped to "F" and "F" would get remapped to "A". If this isn't a connection for a particular letter, the letter doesn.t get remapped. After the plug board, the letters are remapped through the rotors. Each rotor contains one-to-one mappings of letters but since the rotors rotate on each key press, the mappings of the rotors change on every key press. Once the current passes through the rotors, it goes into the reflector. The reflector is very similar to a rotor except that it doesn't rotate so the one-to-one mappings are always the same. The whole encryption process for a single letter contains a minimum of 7 remappings (the current passes through the rotors twice) and a maximum of 9 remappings (if the letter has a connection in the plug board).
In order to decrypt a message, the receiver must have the encrypted message, and know which rotors were used, the connections on the plug board and the initial settings of the rotors. To decrypt a message, the receiver would set up the machine identically to the way the sender initially had it and would type in the encrypted message. The output of typing in the encrypted message would be the original message. Without the knowledge of the state of the machine when the original message was typed in, it is extremely difficult to decode a message.