|
|
|
|
Rotor Czech Štolba →
Message condenser and cipher machine
Condenser PBJ 1 was a rotor-based cipher machine,
developed between 1922 and 1924 by Paval Baráček-Jacquier (1885-1969) and
used by the Czechoslovak diplomatic service until 1934 [1].
It's a polyalphabetic
substitution cipher/autokey cipher that generates 10-letter codewords
consisting of alternating consonants and vowels. It was the first
cipher machine developed in Czechoslovakia. 2
To our knowlege, there are no surviving samples or photographs of the PBJ.
|
The image on the right therefore shows an educated guess of the machine's
exterior, based on the descriptions in the surviving manual [3].
The device is housed in a metal enclosure with an extension at the front.
At the top surface are 10 removable paper strips, each with 10
tuples.
To the right of each strip is a selector that is used to set one
input character. The extension at the front houses 10 rotors,
each of which has 10 faces. The face at the top is visible through a
narrow window. This is the output character.
After entering 10 characters with the selectors, the crank must be turned
clockwise, after which 10 output characters appear in the windows.
|
|
|
At the beginning of a message, a unique initialisation vector (IV) must
be set. It defines the initial state of the rotors and is sent in clear.
Each time the crank is turned, the value of the input letter (set with the
selector) is added to the corresponding rotor. This is done by advancing
the rotor a number of steps equal to the value. Due to the circular nature
of the rotor, this is a modulo 10 addition.
The reset lever puts all 10 rotors in their neutral state.
A full description of the machine, including the reconstructed
encryption algorithm and cryptanalysis, can be found in
The Condenser PBJ cipher machine
by Eugen Antal, Paul Reuvers and Pavol Zajac in Cryptologia (2024) [1].
|
|
-
The name PBJ is derived from the initials of the inventor
Paval Baráček-Jacquier.
-
In the 2021 Cryptologia article The First Czechoslovak cipher machine
[2], Štolba was presented
as the first Czechoslovak cipher machine, introduced around 1935. It
has since become clear that it was preceeded by Condenser PBJ,
and that Štolba was probably the second cipher machine
developed in Czechoslovakia.
|
MAIN ARTICLE —
The text on this page is largely based on the article
The Condenser PBJ Cipher Machine
written by Eugen Antal, Paul Reuvers and Pavol Zajac
and published in Cryptologia (2024) [1].
For a mathematical description of this machine, the message format,
message examples and a discussion on the cryptanalysis, please read
the original article.
➤ Download the article
A detailed description of the machine can be found in the
original operating instructions
of 1934, along with a sketch of its exterior [3].
From this document we've been able to make an educated guess of the machine's
exterior and controls, which is reflected in the artist's impression below.
|
Educated guess of the machine's exterior
|
The device consists of the following main parts:
|
Body Metal unit with 10 mechanical adding machines Strips 10 removable paper strips with letters and figures Selectors 10 letter selection knobs (aside the strips) Rotors 10 removable rotors, each with 10 faces (steps) Reset Spring-loaded reset lever Crank Removable crank for advancing the internal state Windows 10 windows through which the rotor positions are visible Lock Paper strip locking knob
|
The strips (B) and the rotors (D)
are the secret elements.
When the machine was not in use, these elements had to be stored in a
safe. Once the secret elements had been removed, the machine was no
longer considered a controlled cryptographic item (CCI) and could be
handled by an unauthorised person, for example for repair.
The following KEY elements were used:
|
- Annual key
This key was changed only once a year, and consists of a set of
10 paper strips printed with 10
tuples each, and 10
rotors engraved with the same
tuples.
The contents of the tuples and their order is
determined by the annual key.
- Daily key
This key was changed every 24 hours, and defines the order in which the
strips and the rotors must be placed in the machine.
- Initialisation Vector (IV)
This is a specially constructed 10-letter group that defines the initial
state of the machine before starting encryption. It consists of an
indicator, the date and the message ID. The IV is sent in clear
at the beginning of a message.
|
In the context of the Condenser PBJ cipher machine, the following expressions are used:
|
Consonant
|
|
One of the letters B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Z
The machine recognises 20 consonants. Note that the letter 'Y' is omitted (which in
the Czech language is actually a vowel). It is replaced by the similar sounding 'I'.
Each strip holds 10 tuples, with two consonants each.
Consonant strips may only be installed in odd slot positions.
|
IV
|
|
Initialisation Vector
Specially constructed 10-letter group which is sent in clear
at the begining of the message, and which defines the initial state of
the cipher. The IV holds a message indicator, the date and the message ID.
➤ More
|
Rotor
|
|
Cipher wheel with 10 faces
A rotor is a circular device with 10 faces, equivalent to 10 steps, that is
mounted on a shaft. It is driven by the adding mechanism inside the body of
the machine. Each face contains a tuple, which is identical
to the corresponding tuple on the strip with the same ID.
The upper face is visible through a window in the protective cover.
There are 10 rotors, which are installed at the front of the machine.
The rotors are part of the secret elements.
➤ More
|
Slot
|
|
A slot is a rectangular space at the top surface of the machine, into which
a strip is installed. Strips can only be installed or
removed, when the strip access flap is unlocked first.
|
Strip
|
|
Input field
A strip is a vertical list of 10 tuples with a pointed bottom
end, that can be inserted into a slot. There are 10 slots: 5 for
consonant strips and 5 for vowel strips. They
are held in place by a strip access flap at the rear of the
device. This access flap can be locked. Consonant strips
and vowel strips must be alternated, starting with a
consonant strip. Each strip is numbered (0-9) and is part
of the machine's secret elements.
➤ More
|
Syllable
|
|
A consonant followed by a vowel
In the context of this cipher machine, A syllable is a letter-pair consisting
of a consonant followed by a vowel.
|
Tuple
|
|
Datastructure with different elements
Each strip holds 10 tuples, or cells, each of
which holds a figure (0-9) and one or two letters. One of the letters
may be printed in red.
|
Vowel
|
|
One of the letters A, E, I, O, U
There are 5 vowels, each of which appears twice on a vowel strip: once in white
and once in red. In the Czech language, the letter 'Y' is also a vowel, but it
is omitted here.
Vowel strips may only be installed in even slot positions.
|
The PBJ machine serves two purposes: (1) it is a code condenser
and (2) it is a cipher machine. The first purpose – the condenser –
may need some explanation. In radio telegraphy, telegrams were
transferred either verbally, by means of morse code
or by teletypewriter (telex). This means that the message had to be
retyped a number of times before it reached its final destination.
|
In the 1920s, telegrams were usually charged per word. In order to
reduce cost, various codebooks had appeared on
the market, such as the
Peterson International Code of 1929 [7]. It
translated frequently used sentences into a single 5-letter code word,
which was cheaper to send.
In practice, real words (e.g. VEHICLE) were easier for the
operator to memorise and handle than arbitrary code words like PBQFZ.
The reason for this is that real words are made of a mixture of
consonants and vowels, which make them
pronounceable. Such words are easier for the operator to handle with
lower chance of mistakes.
|
|
|
As a result, the telegraphic
regulations were altered in such a way, that real words were cheaper
to send than arbitrary code words.
Arbitrary words were charged at full rate, whilst pronounceable words
received a discount. It was also allowed to use
non-existing 'invented' code words, such as OXIDONU, to quality for
a discount, as long as they were pronounceable. This led to a range of
new codebooks that had 5-letter code words that contained one or two
vowels. 1
The PBJ cipher machine offers a similar solution, by forcing a message
format in which consonants and vowels are alternated. This makes the
code words pronounceable and therefore cheaper.
Ciphertexts are usually formatted in groups of 5 letters. The reason
for that is that most people can memorise arbitrary 5-letter groups
easier than longer sequences. But as the PBJ machine forces
the use of alternating consonants and vowels,
it appears possible to memorise 5 syllables instead of
just 5 letters.
For this reason, 10-letter code words, such as XOBURATEMU, are used on
the PBJ. Although the PBJ machine is presented as a condenser,
it doesn't really compress the text — it actually makes the text longer —
but was merely used as a cost-reduction tool.
When encrypting the plaintext on a PBJ machine, these properties are
retained, as the message format remains unaltered: a consonant is replaced
by a consonant, and a vowel is replaced by a vowel.
On 1 January 1934, the PBJ machine was abandoned when the new
Telegraphic Regulations
came into effect [4]. Two articles of these
regulations may have been responsible for this. Article 10 §2 restricts
the length of a code word to 5 letters. This could have been circumvented
easily though, by sending each 10-letter code word as two 5-letter groups.
Article 11 §2 is more restrictive, as it forbids the use of figures in the
ciphertext, which was possible on he PBJ machine.
It is also possible that better cipher machines had meanwhile become
available in Czechoslovakia.
|
|
-
In addition, some codebooks allowed built-in redundancy, which
enabled error-detection and in some cases even error-correction.
A good example is The New Boe Code of 1937 [8].
|
The body (A) forms the base of the machine. It holds 10 mechanical adding
machines. Before encryption or decription, the secret components – the strips
(B) and the rotors (D) – are inserted in a given order, indicated by the daily
key. The 10 strips are installed into the 10 rectangular slots at the top
surface of the machine, accessible through a lockable flap at the rear edge (K).
To the right of each slot is a sliding selector (C) that must be used
to select the desired input letter.
|
Condenser PBJ with open rotor compartment and strips partially removed
|
At the front of the machine are 10 rotors (D), of which the current
positions are readable through 10 rectangular windows in the top of their
protective cover. These are the output characters. The machine operates on 10
characters simultaneously. The spring-loaded reset lever (E) is used to
clear the machine's internal state at the beginning of the encryption process,
after entering the Initialisation Vector (IV) with the selectors (C).
By pushing this lever to the right, all rotors are set to their neutral position.
To the right of the strips is a removable crank that is used to
advance the internal state of the cipher. It always has to make a full 360°
turn, either left or right.
When encrypting, the crank always has to be turned right. This adds the value
of the selectors (C) to the position of the rotors (D). When decrypting, the
crank has to be turned left to subtract the value of the selectors from the
current rotor position.
|
In the input field of the machine, 10 paper strips are installed.
Together with the rotors they form the secret components
of the machine. There are five strips with consonants and five with
vowels (a, e, i, o, u) which have to be alternated, starting
with a consonant strip. Each strip has 10 lines, or tuples, each
with a figure and one or two letters.
The consonant strips have one figure and one letter printed in white,
plus a letter printed in red.
The vowel strips have a figure and a vowel, printed in white.
As there are only 5 vowels and 10 positions, the lower half of each vowel
strip hold a figure in white and a vowel in red.
Here is an example of a consonant and a vowel strip:
|
Layout of strips 7 (consonants) and 6 (vowels)
|
At the bottom of each strip is its identification number in the
range 0-9. Note that the bottom end of the strip is pointed somewhat. This is
done to make it easier to insert the strip into a slot.
Although only the contents of strip 7 are specified in the manual [3], the other
strips could be reconstructed from the preserved plaintext-ciphertext pairs [1].
Here is the full set:
|
|
|
Strip ID
|
Value
|
|
7
|
6
|
5
|
0
|
3
|
2
|
9
|
4
|
1
|
8
|
|
0
|
|
4MN
|
8U
|
OKX
|
2I
|
5GQ
|
7E
|
3DT
|
3A
|
7FV
|
5O
|
1
|
|
1HZ
|
5O
|
2BP
|
7E
|
3DT
|
8U
|
8JW
|
2I
|
9LR
|
3A
|
2
|
|
OKX
|
2I
|
7FV
|
3A
|
6CS
|
50
|
1HZ
|
7E
|
3DT
|
8U
|
3
|
|
2BP
|
3A
|
9LR
|
8U
|
7FV
|
2I
|
4MN
|
50
|
1HZ
|
7E
|
4
|
|
3DT
|
7E
|
5GQ
|
5O
|
4MN
|
3A
|
9LR
|
8U
|
6CS
|
2I
|
5
|
|
5GQ
|
0A
|
3DT
|
6O
|
1HZ
|
9I
|
2BP
|
9I
|
OKX
|
1E
|
6
|
|
8JW
|
1E
|
6CS
|
0A
|
8JW
|
6O
|
7FV
|
4U
|
4MN
|
9I
|
7
|
|
9LR
|
6O
|
8JW
|
1E
|
OKX
|
4U
|
6CS
|
0A
|
2BP
|
4U
|
8
|
|
6CS
|
9I
|
1HZ
|
4U
|
9LR
|
0A
|
OKX
|
1E
|
5GQ
|
6O
|
9
|
|
7FV
|
4U
|
4MN
|
9I
|
2BP
|
1E
|
5GQ
|
6O
|
8JW
|
0A
|
|
Type:
|
Cons.
|
Vowel
|
Cons.
|
Vowel
|
Cons.
|
Vowel
|
Cons.
|
Vowel
|
Cons.
|
Vowel
|
|
Overview of the tuples on the strips
and rotors
|
Like the strips, the rotors belong to the secret components of the PBJ machine.
They must be stored in a safe when the machine is not in use.
There are 10 rotors which are installed at the front of the machine, behind
a protective cover. Each rotor has 10 faces that are printed with the same
tuples as the corresponding strip. Although this is not described
in the manual, it is likely that due to space restrictions, the tuples are
printed vertically on the faces of the rotor as shown below. The faces are removable
so that new ones can be installed as part of the annual key.
|
Educated guess of the rotor construction
|
Based on the original operating instructions [3], an educated guess about the
construction of the rotors can be made, as shown in the image above. Each rotor
has its own construction. It consists of a vertical metal mounting plate with
a bearing that holds a hollow horizontal shaft. One side of the shaft — we have
assumed the right side — is for mounting the rotor. It has an index pin that
mates with an index notch at the inside of the rotor. This is done to ensure
that the rotor is always mounted with the correct face up (i.e. visible
through the window in the protective cover).
|
Rotors 7 (installed) and 6 (removed) seen from the top
|
It is likely that the rotor is driven by a cogwheel that is mounted on the
same shaft, at the other side of the mounting plate. This cogwheel is then
driven by the adding mechanism inside the body (here shown in red).
The image above shows two rotors (7 and 6) as seen from the top of the
machine, with the second one (6) removed from the shaft.
Note the index pin.
It is likely that a rotor carried the same identification number as the
corresponding strip with identical tuples.
The construction is similar to the rotor mechanism of
the later Hagelin CX-52 cipher machine.
|
Stretching the rotor shaft with a blunt awl (move mouse over image)
|
To ensure that the rotor does not come off when it rotates, part of the shaft
is embossed. The manual describes that if it does fall off, the supplied
blunt awl must be used to strech the shaft somewhat [3]. This is
illustrated above. Move the mouse over the image to see the effect.
|
The annual key consisted of the the order and contents of the
tuples that were printed on the strips and the
rotors. New strips and rotor faces were supplied once a year. They were
regarded as secret components, which had to be kept in a safe when the machine
was not in use. One complete annual key
was reconstructed by [1] from examples in the original manual [3].
|
The daily key must be constructed in such a way that consonant and vowel strips
are alternated, starting with a consonant strip. The rotors must be installed
at the front, in the same order as the strips. The daily key that was
reconstructed from the examples in the manual is as follows:
7650329418
|
The first 10-letter group of the ciphertext is the initialisation vector
(IV). It is used in the encryption/decryption process to define the
initial state of the cipher machine (i.e. the state of the 10 adding machines
at the start of the procedure).
The IV must be properly constructed with respect to the consonant and
vowel alternation, and is formatted as follows:
|
2 syllables Indicator (syllables in the range SA to ZU) 1 1 syllable Day of the month (01 to 31) 2 Syllables Message ID in the range 0001 to 9999
|
The IV consists of syllables only, which means that the date and the
message id have to be converted into letters first. The input numbers are
always processed in pairs (i.e. two digits). If necessary, leading zeros
should be inserted (e.g. 1 → 01, 113 → 01 13). Each 2-digit number
x1x2 is converted into a 2-letter syllable y1y2 using one of the
tables below, depending on the value of x2 .
Further details about Date and Message ID format, can be found in [1].
|
|
if x2 is in the range 1 to 5:
|
|
|
otherwise:
|
x1/x2
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
0
|
|
x1/x2
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
0
|
|
y1
|
b
|
c
|
d
|
f
|
g
|
h
|
j
|
k
|
l
|
m
|
|
y1
|
n
|
p
|
q
|
r
|
s
|
t
|
v
|
w
|
x
|
z
|
y2
|
u
|
o
|
i
|
e
|
a
|
u
|
o
|
i
|
e
|
a
|
|
y2
|
u
|
o
|
i
|
e
|
a
|
u
|
o
|
i
|
e
|
a
|
|
-
Two syllables from the same group must be choosen. The second one is
redundant. Syllables in the range BE to RU are reserved for other cipher
types.
|
Based on the original manual [3], the following rules had to be obeyed
when creating a message. Note that all diacritical characters and
punctuation marks must be removed from the plaintext.
- Numbers in the text must be formatted as follows (except for the first group, the IV):
- Insert the word
NUME before the number
- Insert the number of digits of the number
- Write the numerical value of the number
- Insert the checksum (sum of digits
mod 10)
- Selected bigrams, letters and special characters are replaced:
- př, pr → f
- št, st → q
- ch → g
- šk, sk, čk, ck → w
- y → i
- dot and comma characters → ko
- ? → co
- Alternation of consonants and vowels.
This is known as a syllable.
If there are two adjacent consonants, the vowel 'U' must be placed between
them. If there are two adjacent vowels, the consonant 'X' must be placed
between them. In this case, the letters X and U are nulls, but note that
they can still be used in other parts of the text. This means that their
nature as nulls must be deduced/guessed from the text.
- If the text begins with a vowel, consonant 'X' must be inserted
before it. If the text ends with a consonant, the vowel 'U' must be added
at the end.
- If the length of the last group is less than 10 characters after
application of rule (4), additional characters must be added. This can be
done by repeating the last syllable.
|
Before encrypting a message, the cipher machine must be set up. This is done
by inserting the strips and installing the rotors in the
order specified by the daily key. Each rotor must be installed
directly under the strip with the same identification number.
Next, the crank is mounted on the top surface of the machine. It will be used
to advance the machine to the next state. Turning the crank right means
rotating it 360° clockwise. Turning it left meas rotating the crank
360° counter clockwise. To encrypt, do the following:
- Format the plaintext as described in the formatting rules
- Construct the initialisation vector (IV)
- Enter the IV by means of the selectors
- Engage the reset lever, release it, and turn the crank right
- Set the 10 letters of the first plaintext group usig the selectors
- Turn the crank right
- Read 10 output characters from the windows
- For the remaining groups repeat:
- Set the 10 letters of the next plaintext group using the selectors
- Turn the crank right
- Read the new ciphertext group from the windows
|
The decryption procedure is very similar to the encryption procedure, except
for the following:
|
- Because the ciphertext is already formatted, step (1) is skipped.
- In steps 4 and 8b, the crank must be turned left instead of right.
- Note that in step 6, the crank must still be turned right.
|
Note that encryption and decryption can also be done with pencil and paper,
without using the machine. This is described in Appendix B of [1].
The machine is merely an aid to do it faster and with less chance of making
mistakes.
|
- Eugen Antal, Paul Reuvers, Pavol Zajac, The Condenser PBJ cipher machine
Cryptologia. Forthcoming publication. Author's copy.
➤ Published online: 1 August 2024.
- Eugen Antal & Pavol Zajac (2021): The first Czechoslovak cipher machine
Cryptologia, DOI: 1080/01611194.201.1998809. 28 December 2021.
- Instruckce k šifrovému stoji 'Condenser PBJ'
Instructions for Cipher Machine Condenser PBJ (in Czech language) FOUO.
NARA, 1924. Document n. 2251/Ic/24. Record Group 457,
Entry UD-22D 21, in the series: Archival and Historian's Source Files, box 4.
Note that the drawing in the original manual contains a mistake.
It shows 11 windows instead of 10.
- Final Protocol to the Telegraph Regulations - Madrid 1932
International Telecommunication Convention (ITC, now: ITU). Madrid, 1932.
43-152-2. Translated and issued by the GPO, London, 1933.
- John McVey, Condensers
22 July 2013. Visited 9 December 2023.
- Figure Codes and Code Condensers
S. Tomokyo, 20 September 2014 - 5 March 2020.
- Ernest. E. Peterson, Peterson International Code
3rd Edition, 1929.
- Conrad Boe, The New Boe Code
Oslo, Norway, 1937.
|
|
|
Any links shown in red are currently unavailable.
If you like the information on this website, why not make a donation?
© Crypto Museum. Created: Friday 08 December 2023. Last changed: Friday, 02 August 2024 - 16:14 CET.
|
|
|
|
|
| |