USSR rotor-based cipher machine
The M-125, codenamed Fialka, was a cipher machine developed by the
USSR during the Cold War, shortly after WWII. It was first introduced
in the late 1950s and soon became one of the favorite machines of
the Warsaw Pact countries. Fialka remained in use until the early 1990s.
The fall of the Berlin wall in 1989, marked the decline and finally 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 dismantled or destroyed.
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 coding wheels
was different for each country. The rest was identical.
Most machines were capable of communicating
either in Latin or Cyrillic (Russian) writing. Although the Latin
alphabet was specific for each country, the Cyrillic alphabet had no
punctuation marks and was identical on all machines, making them
interoperable when a mutual set of wheels was used.
A standard Russian-only version also existed.
Fialka is a Russian word that means 'Violet'; a rather nice small flower.
Around 1965, the Russian Army introduced a brand new
cipher machine, which was given the codename FIALKA. Two versions of this
machine are known to exist: the M-125-xx
and the M-125-3xx, 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 the machine is now commonly
called Fialka, we will use that name on this website.
The design of the Fialka is largely based on the
well-known Enigma machine,
that was used by the German Forces during WWII.
Like the Enigma, it uses a number of coding wheels to scramble the letters
typed on the keyboard.
With each key-press, the wheels move into a new position,
thereby effectively changing the alphabet-substitution for each
letter typed on the keyboard.
And that's where the similarity with the Enigma ends.
Rather than presenting the output on a lamp panel,
the Fialka prints the coded letter directly onto a paper tape.
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
In addition, the Fialka contains a paper tape transmitter which can be
used to transmit or duplicate a message. The Russians have clearly
learned from the flaws in the Enigma's design and its operating
procedures, as they've implemented the following improvements:
In addition to this, the following extra features are available:
- 10 wheels, rather than 3 or 4 on the Enigma,
- More frequent wheel turn-overs,
- Adjacent wheels move in opposite directions,
- Wheel wiring can be changed in the field (from 1978 onwards),
- A punch card is used to replace the Steckerbrett,
- A letter can be encoded into itself (impossible on Enigma).
- The use of letters, numbers and punctuation marks (M-125-3 only),
- Can be used to duplicate a punched-paper tape,
- Can be used as a standard teletype machine (i.e. generate plain-text),
- Supports both Russian (Cyrillic) and Latin.
Many variants of Fialka exist, but basically, there are only two
different models: an early version and a later - improved - version.
It is very easy to tell the difference as they both have a different
keyboard. The keyboard of the older model, the M-125-xx, is shown
on the left. It has rounded keys with two letters (cryllic and latin)
on them. The newer M-125-3xx has square keys with 4 characters on
each key top (shown on the right).
Each of these basic models came in a variety of versions, mainly
tailored to the specific language of the country where it was used.
All version have at least the basic Latin and
Cyrillic (Russian) alphabets, and the later M-125-3xx models
also contained a third, country-specific, alphabet.
Not only the keyboard was different for each country, the print
head of the later models was also country-specific. Furthermore,
the coding wheels were
wired differently for each country.
The rest of the wiring of the machine is identical for all versions.
The initial version of the machine was given the designator M-125 and
had rounded keys with 30 letters of the Cyrillic (Russian) alphabet.
It had a rotating print head with just the 30 Cyrillic characters on its
Later versions of the machine (M-125-xx) had a keyboard with two letters
on each of the keys.
The leftmost letter was from the Cyrillic alphabet (green)
whilst the rightmost one was a Latin character (red).
The print head was changed to support both alphabets and a toggle switch
on top of the machine was used to choose between the two alphabets.
At some point, the machine was completely overhauled and improved and a new
version, the M-125-3xx, was introduced.
The machine had square keys, with 4 characters on each of them, allowing
the use of Latin, Cyrillic and country-specific letters as well as puctuation
marks and special characters.
For this, two different print heads were supplied: one combined Cyrillic/Latin
printhead and one for the country-specific alphabet that also had punctuation
marks and special characters.
Each coutry of the Warsaw Pact had its own national version of the M-125-3,
and the 'xx' suffix was used to determine the country/version.
The above drawing shows two examples of such country-specific versions.
The one on the left is the Polish version of the machine (M-125-3MP3).
The one on the right is the Czech version (M-125-3MP2).
These machines had thee modes of operation:
- Letters only
- Numbers only
- Mixed (i.e. the full alphabet)
These modes were selectable with a text-mode-selector at the rear of the machine.
In the 3rd mode the machine was not compatible with the older M-125 machines.
When this mode was selected, the leftmost key on the middle row was used to switch
to numbers and punctuation marks (1...), whilst the rightmost key on the same row was
used to toggle back to letters (A...).
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 Reference manual
further down this page.
The Fialka has 10 unique coding wheels, each identified with a letter of the
Russian alphabet. The wiring can be swapped between wheels and each wheel
contains an arbitrary number of turn-over notches. Furthermore, each country
of the Warsaw Pact had its own set of 10 wheels.
Apart from changing the settings of the wheels, 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
The key card gives less room for mistakes a patch panel,
and also increases the number of possible permutations.
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.
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.
According to the checklist that came with a Fialka machine, each 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 paper
from a blocked machine.
The history of the M-125 Fialka is still very clouded and very
little is known about its history, its use and its backgrounds,
as the machine was in use until recently.
Although the Russians have done their best to destroy the remaining
machines once they were decommissioned, a handful have miraculously escaped
demolition and are now in the hands of collectors and museums.
In the mid-2000s, a limited number of M-125 Fialka machines appeared
on the European surplus market and have since become highly wanted
collector's items. Although Fialkas were in use in all countries of
the former Warsaw Pact, the machines that have survived all come from
Poland and Czechoslovakia. So far, we haven't found any of the other
When we first found a Fialka machine in 2005, no information about
this machine was available on the internet or elsewhere. So, we
decided to reverse-engineer the machine and re-create the circuit
diagram from scratch. All we had to start with was a German
Operator's Manual and a working machine.
Luckily, we were given a broken surplus machine that we
could take apart.
The result is a 140+ page manual with hundereds of drawings,
photographs and circuit diagrams.
The manual is available only in printed form and can be ordered
directly from us.
Each copy of the manual is printed in full-colour and contains
the full circuit diagram.
- 7 December 2012
Russian programmer Vyacheslav Chernov (Чернов) has written a beautiful
graphical simulator for Windows TM, that emulates all known Fialka models
It supports the old wheels as well as the later adjustable wheels,
and supports different wheel-wirings for the various countries.
Furthermore, the wiring cores can be installed, flipped and rotated
in any of the other wheels.
Download Fialka Simulator
How to set the keys (and card)
- 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.
Below are some files that are available for download. Please note that
these files are supplied 'as-is'. Crypto Museum can accept no
responsibility for these files or their suitability for any purpose.
- XML files for software Simulator authors 0.01
This is a ZIP archive, containing a set of XML files that describe
all features of the Fialka and its wheels. These files can be used
by software writers when creating, for example, a Fialka Simulator.
Any links shown in red are currently unavailable.
If you like this website, why not make a donation?|
© Copyright 2009-2013, Paul Reuvers & Marc Simons. Last changed: Friday, 07 December 2012 - 18:06 CET