Last weekend, the 18th annual meeting of the Military Radio Collectors Group was held in San Luis Obispo, California, at Camp San Luis Obispo’s NCO club. The event included equipment displays, presentations, field operations and a swap meet. I had a great time, and nearly every other comment I heard about this year’s meet was positive. I’m already looking forward to next year’s annual meeting, as well as the occasional field events we’ll probably have throughout the year.
Hagelin
Cryptographic equipment based on designs by Boris Hagelin.
M-209 Simulator Update: Now with Key List Generator
I’ve just released version 2013-04-28a of my command-line M-209 simulator. The major addition to this release is a new Python script which generates key lists with daily scheduled key changes. The generated key list collections include 365-366 plain-text key files which may be read, printed or loaded into my simulator, and plain text key lists for each month which may be viewed or printed. Also, if TeX typesetting software and some other related utilities are available, various PDF key lists will be generated for on-screen viewing or printing into either small or large booklets. Please note that I’ve changed the version numbering from the old major.minor format to a date-based format.
The annual Military Radio Collectors Group meeting at Camp San Luis Obispo is almost here! This year, I’m pleased to announce that we’ll be conducting a joint crypto-related operation with the Maritime Radio Historical Society’s Coast Station KSM. Here’s their announcement of the operation.
I’m working on a Python script which automatically generates a year’s worth of M-209 keying materials, with daily key changes. I hope that this script and its output will be useful for future M-209 activities, and add a more realistic flair to them.
Now, the big problem is that I’ve never seen actual M-209 key lists. I’ve come up with a plain text format for individual key tables, which I think I picked up from one of the M-209 technical manuals. I know that individual keys were identified by two-letter sequences called “key list indicators”. I know that keys were intended to be changed periodically, possibly daily (or possibly more or less often depending on activity level, but I’m sticking with daily for my purposes). I’ve seen a training film in which an M-209 key list is consulted, but the video transfer of the film is too blurry to make out useful details.
From these details, I’ve inferred what I think a key list might have looked like. I’m hoping to get some input from other crypto enthusiasts about the formatting, wording, etc.
This post is part of a series of posts describing practical use of the M-209 cipher machine. The series will cover operation of the machine, setting the cipher key, formatting of messages, ciphering and deciphering messages, dealing with transmission errors, practices to make cryptanalysis (code breaking) of messages more difficult, and generating new key tables.
This chapter covers recognition and deciphering of messages.
Practical Use of the M-209 Cipher Machine: Chapter 4
This post is part of a series of posts describing practical use of the M-209 cipher machine. The series will cover operation of the machine, setting the cipher key, formatting of messages, ciphering and deciphering messages, dealing with transmission errors, practices to make cryptanalysis (code breaking) of messages more difficult, and generating new key tables.
This chapter covers composition, encipherment and formatting of messages.
Practical Use of the M-209 Cipher Machine: Chapter 3
This post is part of a series of posts describing practical use of the M-209 cipher machine. The series will cover operation of the machine, setting the cipher key, formatting of messages, ciphering and deciphering messages, dealing with transmission errors, practices to make cryptanalysis (code breaking) of messages more difficult, and generating new key tables.
This chapter covers internal key settings of the M-209.
Practical Use of the M-209 Cipher Machine: Chapter 2
This post is part of a series of posts describing practical use of the M-209 cipher machine. The series will cover operation of the machine, setting the cipher key, formatting of messages, ciphering and deciphering messages, dealing with transmission errors, practices to make cryptanalysis (code breaking) of messages more difficult, and generating new key tables.
This chapter covers basic operation of the M-209.
A Collection of M-209 Key Tables
Inspired by the Enigma World Code Group page, I have created a collection of key tables for the M-209 cipher machine for use by collectors and cryptography enthusiasts. This publicly-available collection of key tables, much like the code sheets on the Enigma World Code Group site, provides a set of ready-to-use M-209 keying material for M-209 aficionados to use. Obviously, openly published key tables don’t provide any real security, but they can be used by hobbyists to exchange M-209 cryptograms without needing to generate and distribute keying materials first. These key tables can be used for educational and entertainment purposes.
This post is part of a series of posts describing practical use of the M-209 cipher machine. The series will cover operation of the machine, setting the cipher key, formatting of messages, ciphering and deciphering messages, dealing with transmission errors, practices to make cryptanalysis (code breaking) of messages more difficult, and generating new key tables.
This chapter covers cryptographic basics to help you understand the machine.
New Release 1.5 of M-209 Simulator Software
I’ve made a new release of my M-209 cipher simulation software:
https://gitlab.com/NF6X_Crypto/hagelin/-/archive/hagelin-1.5/hagelin-hagelin-1.5.tar.gz
Yes, another release. They’re clogging up my front page. Anyway, this minor release adds a user-requested feature and makes another minor change.
New Release 1.4 of M-209 Simulation Software
I’ve made a new release of my M-209 cipher simulation software:
https://gitlab.com/NF6X_Crypto/hagelin/-/archive/hagelin-1.4/hagelin-hagelin-1.4.tar.gz
This release eliminates the specially-encoded trailer that older versions needed in the key files. It now deciphers the human-readable key table instead, and tries to tolerate minor formatting variations.
New Release 1.3 of M-209 Simulation Software
I’ve just released a new version of my M-209 cipher machine simulation software:
https://gitlab.com/NF6X_Crypto/hagelin/-/archive/hagelin-1.3/hagelin-hagelin-1.3.tar.gz
My M-209 Simulation Software is now hosted on GitHub GitLab (note: I moved all of my public repositories from GitHub to GitLab in June, 2018). This means that all past, present and future versions of it will be available in one spot, and users can easily track changes from version to version.
The Hagelin CD-57 Pocket Cryptographer is a pocket-sized (for largish pockets) cipher machine which works on the same principal as the M-209 Converter. I’ll write a more detailed description later; for now, here are some pictures of my CD-57 that I found on eBay.
The Hagelin CX-52 cipher machine which works on the same principal as the M-209 Converter. I’ll write a more detailed description later; for now, here are some pictures of my CX-52 that I found on eBay, along with some details about how I cleaned up and repaired it.
After I added an M-209-B Converter to my collection, I decided to write a software simulation of it as a learning exercise. Here is the result: a command-line application, written in C++, which is able to encipher and decipher text just like a real M-209 machine does. In addition, my simulator can generate new random keys and automate parts of the message-handling process. I’m releasing my simulator under the GNU Public License in the hope that it may be useful, educational and/or entertaining.
Update: This software is now hosted on GitHub GitLab. See this post for details.
Converter M-209-B is a compact, portable mechanical cipher machine which was used by United States military forces during World War 2 and the Korean War. Designed by noted Swedish cryptographer Boris Hagelin, about 140,000 of the M-209 series machines were built. Unlike the German Enigma machine, this machine does not require an electrical power source. The U.S. Navy referred to this machine as the CSP-1500.