Click for homepage
M-125-3 →
M-125 →
M-125   Fialka
USSR rotor-based cipher machine

M-125, codenamed Fialka (Russian: ФИАЛКА), was an electromechanical rotor-based cipher machine, developed shortly after WWII in the former Soviet Union (USSR). Introduced in 1956 it became one of the favorite machines of the Warsaw Pact and some allied nations, such as Cuba. The machine is similar to the American SIGABA, the KL-7 and, to a lesser extend, the Enigma. For this reason the machine is sometimes referred to as the Russian Enigma. The original M-125 was succeeded in 1965 by the improved M-125-3M and remained in use until the early 1990s.

The machine has 10 cipher rotors, each with 30 contacts at either side. Adjacent rotors move in opposite directions. In addition, the machine has a card reader in which a new punched key card was installed on a daily basis. Furthermore, it has a printer, a tape reader and a tape puncher.

Each country of the Warsaw Pact had its own customized Fialka version, adapted for the local language. This means that each country had its own keyboard and print head. Furthermore, the wiring of the cipher rotors is different for each country. The rest of the machine is identical.

Most machines can be used for messages in Latin and Cyrillic (Russian) writing. Although the Latin alphabet was different for each country, the Cyrillic alphabet had no punctuation marks and was identical on all machines, making them interoperable when a mutual set of rotors was used. A standard – Russian-only – version also existed. It was used by local USSR services like the KGB.

The fall of the Berlin Wall in 1989, marked the decline and led to the collapse of the Soviet Union. With the retreat of the Russians from the countries behind the Iron Curtain, most of the Fialka machines were returned to Russia and have subsequently been destroyed. Only a small number of devices have escaped destruction, and have since been obtained by collectors and museums.

Fialka machines and accessories
Standard version of the Fialka, introduced in 1956
Enhanced version of the Fialka, introduced in 1965
Standard Fialka PSU
Special TEMPEST-proof Fialka PSU (also known as the Polish Fialka PSU)
Different sets of Fialka rotors
Fialka machine and rotor wiring
Punched cards as part of the Fialka's daily key
Canvas wallet with various Fialka tools
Spare parts and accessories (ZIP)
Fialka Reference Manual
Moisturizer for gluing back-gummed paper tape
Fialka Test Device
The famous Magic Circuit that allows a letter to be encoded as itself
Block diagram of Fialka and comparison with Enigma
Parallel to serial interface for M-125 (Fialka)
Recent changes
Around 1956, the Soviet Union introduced the brand new M-125 cipher machine, which was given the codename FIALKA. Fialka is a Russian word that means violet (flower). Two basic versions of the machine are known to exist: M-125 and M-125-3M, with country-specific variants of each model. In principle, the machine is called M-125, whereas Fialka is the name of the cipher procedure. However, as most people call the machine Fialka, we have used that name throughout this website as well. Below are two examples. The one on the left is a basic M-125.

The design of the Fialka is clearly based on the well-known Enigma machine, that was used by the German Armed Forces during WWII. Like the Enigma, it uses electromechanical cipher rotors to scramble the letters typed on the keyboard. With each key-press, the rotors move into a new position, thereby effectively changing the wiring and, hence, the alphabet substitution for each letter that is entered. And that's where the similarity with the Enigma ends.

Rather than presenting the output on a lamp panel, Fialka prints the enciphered letter directly onto a paper strip. At the same time it can punch the letter into the same paper tape in a 5-bit digital code, much like the baudot code of a teletype machine. In addition, Fialka is equipped with a paper tape transmitter that can be used to transmit or duplicate a message. During WWII, the Soviets had clearly learned from the flaws in the Enigma design and its operating procedures, as they implemented the following improvements:

  • 10 rotors, rather than 3 or 4 on the Enigma
  • More frequent rotor turnovers (irregular stepping)
  • Adjacent rotors move in opposite directions
  • Rotor wiring can be altered in the field (from 1978 onwards)
  • A punched card is used to replace the Steckerbrett
  • A letter can be encoded into itself (impossible on Enigma)
In addition to this, the following extra features are available:

  • The use of letters, numbers and punctuation marks (M-125-3 only),
  • Possibility to duplicate a punched-paper tape,
  • Possibility to use the machine as a teletypewriter (in plaintext mode),
  • Supports both Cyrillic (Russian) and Latin alphabets.
  • Ability to send numbers-only messages (M-125-3 only))
Two basic models of the machine are known. They are often referred to as the old model and the new model. Furthermore, country-specific variants were made for each country in which the M-125 was used. With the old model, this only involved the wiring of the rotors, but with the new model, this also involved the layout of the (language-specific) keyboard and the print head.

M-125   old model
This is the basic Fialka machine that was introduced in 1956. Most machines were capable of sending letters-only messages in Cyrillic and Latin alphabets. The machine had 10 cipher rotors with fixed wiring.

Apart from a Russian-only variant, the machines were suitable for Cyrillic and Latin. The wiring of the cipher rotors was country-specific.

 More information


M-125-3M   new model
In 1965, the M-125 was succeeded by the improved M-125-3M which was capable of sending letters-only, numbers-only and mixed-mode text. All machines are wired identically, but keyboard, print head and rotors are country-specific.

In the mid-1970s, adjustable rotors with a removable wiring core (PROTON-2) were introduced. This greatly enhanced the key space.

 More information


Country specific variants
Although there are just two basic Fialka models — the older M-125 and the later M-125-3M — there are a number of country-specific versions of each model. Generally speaking, they can be identified by looking at the keyboard. If it has square keys, it is definitely a newer M-125-3M.

The drawing above shows the two styles of keyboard side-by-side. The rightmost one is the newer M-125-3. If the keyboard has rounded keys, it is likely to be an older M-125, but this is not necessarily so. As an exception to the rule, the Russian-only M-125-3M also has rounded keys. At present, the following country specific Fialka machines are featured on this website:

M-125-3M, the Russian variant of the M-125-3
M-125-3MR2, the Polish variant of the M-125-3
M-125-3MR3, the Czeck variant of the M-125-3
M-125-3xx, the Hungarian variant of the M-125-3
M-125MN, the East-German variant of the M-125-3
Known countries
Fialka machines were supplied to all member states of the Soviet Union (USSR). It is likely that all of these countries used the same machine model, with identically wired rotors. In addition, Fialka machines were supplied to all member states of the Warsaw Pact treaty, but with a unique rotor wiring for each state. The following countries were part of the Warsaw Pact:

  • Soviet Union (USSR)
  • Albania
  • Bulgaria
  • Czechoslovakia
  • East-Germany (DDR)
  • Hungary
  • Poland
  • Romania
It is likely, but currently not entirely certain, that Fialka was also used in Cuba.

Known model numbers
  1. DDR = Each Germany
  2. PL = Poland
  3. CZ = Czechoslovakia

Known rotor wirings
Differently wired rotors were supplied to each of the Warsaw Pact member states. The serial numbers of these rotors were in format
), in which
is a 2-character prefix that identifies the country. The table below shows the currently known prefixes:

Prefix Country Found Comment
68 Soviet Union Used in Russia
1K ? never seen
2K ? never seen
3K Poland  
4K East Germany Known from surviving documentation
5K ? Discovered in Hungary
6K Czechoslovakia  
7K ? Discovered inHungary
We have found rotors with 5 different prefixes (68, 3K, 5K, 6K, 7K), but have so far identified only 3 of the countries to which they belong (Soviet Union, Poland and Czechoslovakia). From surviving documentation it is known that the prefix 4K was used for East-Germany, but none of these rotors appear to have survived. Rotor sets 5K and 7K were both found in Hungary, so it is likely that one of these were used in that country. So far, we haven't seen 1K and 2K rotor sets.

 Wiring details

Additional parts and accessories
Each machine came with a power supply unit (PSU), of which there were two models. Furthermore, there were two types of cipher rotors, and each country got a specific wiring under Soviet control. Below is additional information about the extra parts and accessories that were used.

Standard PSU
The majority of Fialka machines that were found after the dissolution of the Soviet Union, was supplied with this PSU. It has been confirmed that this PSU was used in East-Germany (DDR), Czechoslovakia and Hungary.

Collectors of Cold War USSR equipment may recognise this PSU, as it was also used with the M-105 AGAT cipher machine.

 More information


This variant is larger than the standard PSU and contains a number of protective measures against eavesdropping through tapping of the power lines (TEMPEST). Is is connected to the Fialka by means of two cables and produces a constant voltage as well as a constant current.

It has been confirmed that this type of PSU was used in Poland.

 More information


Cipher rotors
The Fialka has 10 unique cipher rotors, each identified with a letter of the Russian alphabet and each uniquely wired. Each country of the Warsaw Pact had differently wired rotor sets.

The initial rotors had fixed wiring, but in the mid-1970s new rotor sets were supplied (PROTON-2) of which the wiring core was removable. This allowed the wiring to be mirrored and to be put inside another rotor.

 More information


Wiring details
Although the internal wiring of all Fialka machines was identical, the wiring of the cipher rotors was different for each country. So far, the wiring details for the Russian (68), Polish (3K), Hungarian (5K) and Czech (6K) rotors have been recovered.

The wiring information and the positions of the Advance Blocking Pins are also available to programmers and can be downloaded in XML format. Click the image to learn more.

 More information


Key material
Apart from changing the settings of the rotors, the daily key also involved the insertion of a unique key card into a drawer on the left of the machine. The image on the right shows an original key card that was found inside a surviving machine.

The card replaces the plugboard of the Enigma, but was cryptographically stronger due to its single-ended nature. Furthermore, a punch card is far less prone to mistakes than a plugboard.

 More information


According to the checklist that came with each Fialka, every machine was supplied with a small toolkit that was used for daily maintenance and small repairs. It contains tools to adjust the machine and to remove binding paper.

 More information


Spare parts   ZIP
In addition to the toolkit shown above, each machine also came with a wooden box that contains some spare parts and additional accessories.

 More information


Test Device
For repair and maintenance a special Fialka Test Device was available. The device was connected to the special test connector at the left side of the machine (M-125-3 only).

So far, the test device has not been found, so we can only speculate about its functionality. It is likely that the device contained a paper tape reader to allow several test programs to be run.

 More information


Reference Manual
When we found our first Fialka in 2005, no information about it was available in the public domain. We then decided to conduct our own research and make it available in the form of the Fialka Reference Manual. It contains many backgrounds, drawings, photographs, circuit diagrams and descriptions.

 More information


Fialka Simulator
Version 5.16 - 24 October 2014

Ukrainian programmer Vyacheslav Chernov (Чернов) has written a beautiful graphical simulator for WindowsTM , that emulates all known Fialka models and country variants.

It supports the old rotors as well as the later adjustable rotors, and supports different rotor-wirings for the various countries. Furthermore, the wiring cores can be installed, flipped and rotated in any of the other rotors.

 Download Fialka Simulator
 How to set the keys (and card)

Other simulators
  • Java Applet (experimental) by Eugen Antal (off-site)
    This is a fully functional non-graphical Fialka Simulator that is written in Java and runs on virtually any platform, including Windows, Apple Mac, Linux and Unix. Instructional videos are available as well.
Technical details
Fialka is an extremely complex electromechanical device. If you want to known exactly how it works, you will find detailed information in the links below. If you want to know even more, check out the Fialka Reference Manual. Additional information is available on the following topics:

Below are some files that are available for download. Please note that these files are supplied 'as-is'. Crypto Museum can not guarantee the suitability of these files for any purpose whatsoever.

  • XML files for software Simulator authors 0.02 (5 July 2014)
    This is a ZIP archive, containing a set of XML files that describe all features of the Fialka and its rotors. These files can be used by software writers when creating, for example, a Fialka Simulator. Includes 3K, 5K and 6K rotor wiring.
  1. Fialka Reference Manual
    Complete reference manual for M-125 (FIALKA) with circuit diagrams (English).
    Paul Reuvers & Marc Simons, 2005-2009.

  2. M-125 Nutzung
    Original operating instructions (German).
    A 040/1/321. Nationale Volksarmee (NVA) of the DDR, 1 December 1978.

  3. M-125 Nutzung (off-site)
    Re-typeset version of the above German manual in HTML (German).
    Website SAS- und Chiffrierdienst, Jörg Drobick.

  4. Operations manual for M-125
    Translated and re-typeset version of the above German manual (English).
    A 040/1/321 (EN), 1 December 1978. Jerry McCarthy, version 2.7.1.
  1. Paul Reuvers & Marc Simons, Fialka Reference Manual
    2005-2009. Release 2.0, 22 June 2009.

  2. Eugen Antal & Viliam Hromada, A New Stream Cipher Based on Fialka
    Tatra Mt. Math. Publ. 57 (2013), 101-118.

  3. Eugen Antal & Pavol Zajac, Key Space and Period of Fialka M-125 Cipher Machine
    Cryptologia Vol. 39, Issue 2, 2015, p. 126-144. ISSN 0161-1194.
Further information
Other websites
Any links shown in red are currently unavailable. If you like the information on this website, why not make a donation?
Crypto Museum. Created: Monday 04 August 2008. Last changed: Thursday, 21 December 2023 - 17:17 CET.
Click for homepage