Fialka

From Wikipedia, the free encyclopedia

The advanced Russian cipher machine Fialka (M-125) has only recently been made known to the public.
The advanced Russian cipher machine Fialka (M-125) has only recently been made known to the public.

In cryptography, Fialka (M-125) is the name of a Cold War-era Soviet cipher machine. A rotor machine, the device uses 10 rotors, each with 30 contacts along with mechanical pins to control stepping. It also makes use of a punch card mechanism. "Fialka" means "violet" in Russian. Information on the machine was quite scarce until recently (2005) as the device had been kept secret.

Fialka contains a five-level paper tape reader on the right hand side at the front of the machine, and a paper tape punch and tape printing mechanism on top. The punched-card input for keying the machine is located on the left hand side. The Fialka requires 24 volt DC power and comes with a separate power supply that accepts power at 100 to 250 VAC, 50-400 Hz.

The machine's rotors are labelled with the Cyrillic alphabet, requiring 30 points on the rotors; this is in contrast to many comparable Western machines with 26-contact rotors, corresponding to the Latin alphabet. The keyboard, at least in the examples of East German origin, had both Cyrillic and Latin markings. There are at least two versions known to exist, the M-125-MN and the M-125-3MN. The M-125-MN had a typewheel that could handle Latin and Cyrilic letters. The M-125-3MN had separate typewheels for Latin and Cyrilic. The M-125-3MN had three modes, single shift letters, double shift with letters and symbols, and digits only, for use with code books and to superencrypt numeric ciphers.


Ten Fialka rotors fitted inside the machine.
Ten Fialka rotors fitted inside the machine.
Rotor stack removed from the machine, showing the 30 contact pins.
Rotor stack removed from the machine, showing the 30 contact pins.


Contents

[edit] Encryption mechanism

The Fialka rotor assembly has 10 rotors mounted on an axle and a 30 by 30 commutator (Kc 30x30). The commutator consists of two sets of 30 contact strips set at right angles to each other. A punch card is placed between the two sets of contacts via a door on the left hand side of the unit. Each punch card has 30 holes, with exactly one hole per row and column pair, and thereby specifies a permutation of the 30 rotor contact lines. This feature is comparable to the plug board on the Enigma machine. A triangular plate was used to enter the null permutation for testing purposes.

There are two types of rotors:

  • disassemblable (zerlegbar) rotors, used with M-125-3MN. Rotorset name is "PROTON." The disassemblable rotors consisted of an insert with electrical contacts and scramble wiring, and an outer ring with mechanical pins whose presence or absence controlled rotor stepping. As part of the key setup, the stepping control pins could be rotated relative to the outer ring. The inner, electrical ring could also be rotated relative to the outer ring and could be inserted in one of two ways, with side 1 or side 2 up.
  • unitary rotors, used with M-125-MN. These had both electrical contacts and mechanical pins. The only key adjustment was the order of the rotors on the axle and the initial rotor settings. There was one combination for the disassemblable rotors that was compatible with the unitary rotor. One East German manual that has become public contains typed-in and hand written addenda that suggest the East Germans, at least, later stopped using the added features of the disassemblable rotors and only used them in unitary compatibility mode.

Adjacent rotors step in opposite directions. A spare rotor assembly was kept in unit's top cover.

[edit] Keying material

The keying material for the Fialka consists of a daily key book, a message key book and a message identifier book for broadcast traffic. The daily key book contains day keys for one month. A day key consists of a key table (in Cyrillic) and a punch card. For fixed rotor systems, the key table specifies the order of the rotors on the axle and the initial rotor settings to be used to decrypt the indicator of broadcast messages. As its name implies, day key is valid (has a cryptoperiod in NSA parlance) for 24 hours and was changed at 00:01 hours. For the disassemblable rotors, the table also specifies the electrical insert for each outer rotor, which side was to be up, and the orientation of the insert relative to the outer rotor. Here is a sample M-125-3NM day key table for use on the 14th of the month:

ИДЖЗА ВКБГЕ 14
OCAHE PTБВЕ
БДВИА ГЕЗКЖ
2II22 I22I2
КУЛКЮ ЫХВУГ

The message key table contained the initial rotor settings to be used with each message. A message key was never to be used more than once. The keying material was distributed in a foil-covered package, with the daily key tables and punch cards fan-folded in a pouch with perforations between each item. The other tables were in a side pouch.

[edit] Comparison with other rotor machines

The Fialka design seems to derive from the Swiss NEMA, but the NEMA only has 5 electrical rotors vs. the Fialka's 10 and NEMA lacks a punch card commutator or an equivalent, such as a plug board. Fialka seems most comparable to the U.S. KL-7. KL-7 has eight electrical rotors and also lacks a commutator, but its keyboard permutor switch eliminated the need for a reflector, which proved to be a weakness in Enigma.

[edit] References

[edit] External links

Cipher machines
v  d  e
Rotor machines: CCM | Enigma | Fialka | Hebern | HX-63 | KL-7 | Lacida | M-325 | Mercury | NEMA | OMI | Portex | SIGABA | SIGCUM | Singlet | Typex
Mechanical: Bazeries cylinder | C-36 | C-52 | CD-57 | Cipher disk | HC-9 | Kryha | Jefferson disk | M-94 | M-209 | Reihenschieber | Scytale
Teleprinter: 5-UCO | BID 770 | KW-26 | KW-37 | Lorenz SZ 40/42 | Siemens and Halske T52
Secure voice: KY-3 | KY-57 | KY-58 | KY-68 | OMNI | SIGSALY | STE | STU-II | STU-III | VINSON | SCIP | Sectéra Secure Module
Miscellaneous: Cryptex | JADE | KG-84 | KL-43 | Noreen | PURPLE | Pinwheel | Rockex
Cryptography
v  d  e
History of cryptography | Cryptanalysis | Cryptography portal | Topics in cryptography
Symmetric-key algorithm | Block cipher | Stream cipher | Public-key cryptography | Cryptographic hash function | Message authentication code | Random numbers
In other languages