Enigma Enciphering Machine - Version 1.0 Here is the concept behind this representation of theEnigma Machine: The program uses virtual "wheels" that contain all ofthe printable characters on the keyboard. Think of thefirst wheel as the keyboard you are typing on. All ofthe wheels contain the same characters, but in arandom, non-repeating order. Each time a character is pressed, the location of thatcharacter on the one wheel is used to as the index tolift the character off of the next wheel. Then the newcharacter is searched for in the next wheel, and thepattern repeats itself across each wheel. The characterlifted off of the final wheel is the output. This step is repeated for each character in themessage. Decryption simply sends the message backwardsthrough a similar, but reversed process. What really makes this encryption effective is thatlike the real life machine, the wheels rotate either tothe left or right after each character. So therelationship between each character shifts constantly.As a result, even repeating characters such as"AAAAAAAAAA" are represented with garbage such as"BGPVLKHWCD". Another great part about an encryption scheme like thisis it's flexibility. You can add more wheels, morecharacters per wheel, change the order of the wheels,the directions the wheels spin, and change the startingposition of each wheel. NOTE: Binary files require Microsoft's Visual Basic 6.0Runtime Library (usually pre-installed in Windows XP).