Glenn’s Computer Museum
|Home||Old Military||Later Military||Analog Stuff||IBM Stuff||S/3 Mod 6||Components||Encryption||Misc||B61|
The museum is incomplete: the last change was on 8/30/2013. A change log is here.
Encryption devices are of great interest to me for several reasons. One reason is the importance of encryption in business, military, and personal security. This importance is, of course, growing with the proliferation of personal computing and communication devices. Another is that encryption is inherently a computationally intensive application perfectly suited for computers, my favorite subject. Also, my MS (from many many years ago) was in Mathematics, with a special interest in number theory—the basis of encryption. I have always tried to follow cryptographic developments, which have evolved significantly in my life. And, finally, encryption devices are technically "sweet": good engineering, technically complex, containing secrets, innovative, mixture of electronics and mechanicals, etc.
A short deteor to products: My interest in this field led to us adding robust hardware security features to the x86 processors that my company (Centaur Technology) develops. Starting in 2003, all Centaur processors (sold by VIA Technologies) have had extremely fast hardware-implemented random number generation, AES encryption and secure hashing algorithm (SHA). A lot more information about this VIA secure initiative is here.
Unfortunately, encryption devices are hard to find, and when you can find one they are very expensive, so the museum's collection is pitifully small. So, if you're interested in cryptography, there are many very good sites that have extensive collections on line such as here, here, and here.. However, the one major device that we do have (the Fialka), is extremely interesting.
This Russian-designed Fialka (aka the M-125) encryption device is probably my favorite
item in my museum since (1)
the Fialka device is (as far as I know) the state-of-the-art
for a very popular type of encryption devices called rotor machines,
(2) the Fialka's existence and details became publically available only a few years ago,
and (3) it's a very clever piece of mechanical and electrical engineering!
The Fialka was used in the Warsaw pact (east European) countries until the desolution of the Soviet Union (ours seems to be a Czechslovakian model). The devices themselves are fairly rare, but fortunately there is a significant amount of very good information on the web about the Fialka and its operation. I highly recommend (and commend) the work found here and here which includes an outstanding piece of reverse engineering here. If you have any interest in encryption or this particular type of device, you should definitely read these references.
After World War I, many countries (including the US) devloped rotor machines and used them for encryption. The most famous of these was the German Enigma, used in World War II. The Fialka uses the same general priciples as the Enigma, but is much more sophisticated and provides much better encryption. All rotor machines implement a substitution cipher, in particular a "polyalphabetic cipher". This means that encryption is done by replacing each plaintext character with some algorithmically chosen other character, and the algorithm for choosing the replacement character changes after each subsitution. The changing subsitution algorithm effectively disguises the plaintext character frequency. An encryption key of some sort defines how the substitution algorithm changes for each character. This encryption method was used by hand for hundreds of years with the most famous example being the Vigenere cipher. The fundamental weakness of such hand-implemented polyalphabetic approaches is the limited number of replacement algorithms (or alphabets) used. For example, if the key is only five characters long, every fifth plain text character will be replaced using the same algorithm.
However, if the key is longer than the plaintext, and the subsitution algorithm is unbiased, then this substitution approach is theoretically unbreakable. In practice this is done using a encryption approach known as a "one-time pad". The cryptographic strength of the one-time pad approach is that the replacement for each plain-text character is effectively chosen from a list of random values (the key), the list being at least as long as the message being encrypted. The weakness, of course, is that the decrypter must have the same (possibly very long) list of random values, thus creating complexity and risks in the key distribution.
Rotor machines attempt to approximate the random character subsitution of a one-time pad using a mechanised algorithm and a very short key. The mechanics, of course, are not random but are very repeatable given some initial state. That initial state then is the key that must be known to both encrypter and decrypter. The basic mechanism in rotor machines for perfoming the character substitution is... a rotor. The rotor has electrical contacts on each side (one for each alphabetic character) and internal wiring that performs the mapping of an input character to a different output character. Multiple rotors with different character mapping are chained together with some mechanism that can rotate the rotors to new mappings after each character, thus constantly changing the effective substitution alphabet. Although many encryption devices have been employed using this general approach, each is different in the details: how many rotors, how they move, what mappings are in the rotors, what does the key control, etc. The encryption strength of a particular device really depends on these types of details. Our Fialka has several detailed design features that address known deficiencies in other devices.
There are several different versions of the Fialka, or M-125, ours is one of the most advanced models, the M-125-3MP2. More description of the special features of our particular version are found here. We have a full set of the most modern type code wheels (6K, adjustible) and a full set of older type backup wheels (6K, fixed). Our keyboard is the Czechslovakian multi-lingual version with four characters per key: Cyrillic, Latin, special characters, and numerics.
For those who don't want to read the detailed references, I'll provide a short summary. First, a quick walk around (some of the features will be covered in more detail later): Figures 1 and 2 show the entire unit, with and without its cover. The the keyboard and rotors are visible along with some control switches, and a paper tape reader mechanism (the lower right). The paper tape output punch and printer can be seen at the far rear. Figure 3 shows the left side which has a slide out slot (show open) for a character remapping control card, this card is a key component of the encryption algorithm. Figure 4 shows the right side containing more control switches along with the emergency hand crank for moving the rotors (the full encryption memchanism is powered by an electric motor). Figure 5 shows the rear with the electric motor and the back of the paper tape and printer out mechansims. Figure 6 is a closeup of the keyboard showing the multiple character sets and figure 7 is a closeup of the stack of 10 rotors. Figure 8 show the rotor bay with the rotor removed. The electrical contacts to the rotor are shown along with the fingers at the bottom which rotate the rotors after each character. Figure 9 shows the main rotor stack partly disassembled with the complete backup rotor in the background. The contacts on both sides of each rotor are seen. Figure 10 shows a rotor with its inner wiring core removed. The positioning of this core is part of initial setting and pthis flexibility provides a great deal of cryptographic strength. Figure 11 is a closeup of the wiring core where you can just make out some of the character-mapping wires within the core Figures 12 & 13 show the companion power supply. Its a pretty nice unit that delivers 24V from a multitude of input AC voltages or form DC. Figures 13 shows a copy of the German-language manual. Note, however, that all the Fialka switches are labeled in Russian.
So, how does it encrypt or decrypt?