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 by the M-125-3M in the mid-1960s 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. In addition, 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.
Fialka M-125-3 with open lid

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, the remaining Fialka machines were taken back and have subsequently been destroyed. Fortunately, some machines have miraculously escaped demolition, which enables us to present some details here.

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
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
Fialka is a Russian word that means violet ; a rather nice small flower. Around 1956, the Russian Army introduced a brand new cipher machine, which was given the codename FIALKA. 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. Here are two examples. The one on the left is a basic M-125.

The older M-125 and the later M-125-3 side by side (Polish versions shown here)

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 Russians 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 changed 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,
  • Can be used as a standard teletype machine (in plaintext mode),
  • Supports both Cyrillic (Russian) and Latin alphabets.
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. For the old model, this involved the wiring of the cipher rotors, but for the new model, this also involved the layout of the (language-dependent) 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 the Russian and Latin alphabets. The machine had 10 cipher rotors with fixed wiring.

Apart from a Russian-only variant, the machines were adapted for each individual country. Furthermore, the wiring of the cipher rotors was country-specific.

 More information

M-125 Fialka showing its 10 cipher wheels

M-125-3M   new model
In 1965, the M-125 was succeeded by the improved M-125-3M that was capable of sending letters-only, numbers-only and mixed-mode text. Like with the M-125, there are country-specific variants.

Furthermore, in the mid-1970s, more advanced cipher rotors were introduced, which greatly enhanced the maximum number of settings and, hence, improved the key space.

 More information

Czech version of the Russian M-125-3 cipher machine

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 highlighted 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:

  1. Soviet Union (USSR)
  2. Albania
  3. Bulgaria
  4. Czechoslovakia
  5. East-Germany (DDR)
  6. Hungary
  7. Poland
  8. Romania
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 what we currently know:

  • 68
    Soviet Union, found
  • 1K
    never seen
  • 2K
    never seen
  • 3K
    Poland, found
  • 4K
    East Germany, never seen
  • 5K
    Found, country unknown
  • 6K
    Czechoslovakia, found
  • 7K
    Found, country unknown
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 havn't seen 1K and 2K.

 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
This is the most common PSU that was issued with a Fialka machine. The majority of Fialka machines that were found after the fall of the Soviet Union, was supplied with this PSU. It has been confirmed that this PSU was used in East-Germany (DDR) and in Czechoslovakia.

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

 More information

Standard PSU with AC mains cable and 24V DC cable

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.

As far as we know, this PSU was only supplied with Fialka machines that were used in Poland, although occasionally this variant has popped up in other Eastern-Block countries as well.

 More information

The TEMPEST Fialka PSU (as used in Poland)

Cipher rotors
The Fialka has 10 unique cipher rotors, each identified with a letter of the Russian alphabet. The wiring can be swapped between rotors and each rotor contains an arbitrary number of turn-over notches. Furthermore, each country of the Warsaw Pact had its own set of 10 rotors.

 More information

A typical set of Fialka rotors. Click for detailed 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

Close-up of a 5K wiring core (wheel K, side 2)

Key material
Apart from changing the settings of the rotors, the daily key also involved the insertion of a unique key card in a drawer on the left of the machine. The key card was used instead of the Steckerbrett of the original Enigma design.

Compared to a patch panel, the card reader is less prone to mistakes, whilst it also increases the number of permutations.

 More information

Original Fialka key card

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 contained tools to adjust the machine and to remove binded paper.

 More information

Top view of the Fialka toolkit

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

 More information

Fialka ZIP box with the lid taken off

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).

As the test device has never been found so far, 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

Test connector

Reference Manual
When we found our first Fialka in 2005, no information about this machine was available. So, we decided to conduct our own research and write the Fialka Reference Manual. It contains many backgrounds, drawings, photographs, circuit diagrams and descriptions.

 More information

Click to see more

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 countries.

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)
Filaka Simulator for Windows. Click the image to download the program as a RAR-file.

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
The Fialka is a very complex mechanical and electrical machine. 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.

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
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: Saturday, 15 July 2023 - 08:01 CET.
Click for homepage