Apr 242013

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.

I started working on this in preparation for a future announcement of an M-209 operator’s group similar to the Enigma World Code Group. I’ve previously published a collection of 676 M-209 key tables that I generated, but upon further consideration I found a few issues with using that for my envisioned M-209 collector’s group:

  1. Operators may wish to use their own key lists in addition to the published ones.
  2. A daily key change schedule would be more realistic than a simple pile of key tables to be chosen at will.
  3. Once new keys are in use, particularly ones which are published openly, there could easily be confusion about what key to use for a given cipher message since I’ve already published keys with all 676 possible key list indicators.

To address these issues, I’ve taken some creative license and added an additional indicator to the normal M-209 message format, which I call the “Net Indicator”. Just for good measure, I also added a group count. The new format would look like this example with a net indicator of “SAMPLE”:


With the added net indicator, anybody could publish their own M-209 key lists without ambiguity in the key list indicators, by simply choosing unique net indicators. The net indicators may be of any length, and consist of upper case letters and/or numbers. “GR” stands for “GROUPS”, and indicates that a group count follows. The remaining groups follow the normal WW2-era M-209 message format. I’ve updated my M-209 simulator to add the net indicator line when asked to, and to automatically ignore it when deciphering.

The current draft of my key list generator script creates a directory tree named after a specified net indicator and year. The directory tree then contains a subdirectory for each month, which will in turn contain:

  • A directory named “keys” containing all key tables for the month as separate plain ASCII text files.
  • A key list for the month in plain ASCII text format, with formfeeds between the individual key tables.
  • A PDF key list formatted for on-screen viewing.
  • A PDF key list formatted for double-sided printing followed by binding into a booklet.
  • The same print-optimized PDF list burst out into a few separate files for easier printing on a single-sided printer.

The print-optimized PDF currently generates two copies of a 4.25″ x 5.5″ booklet like this one:

Sample Key List Booklet

Sample Key List Booklet

Sample Key List Booklet, Opened

Sample Key List Booklet, Opened

I like the pocket-sized form factor of the booklet, but the text is awfully small for older eyes to read easily. I’ll probably modify my script to also generate print-optimized PDFs for larger 5.5″ x 8.5″ booklets.

[attachments size=medium label=doctitle fields=”title,filename,size,type” title=”Sample key list PDF files:” titletag=”b” target=1 docid=”6004,6003″]

The final version of the printable PDFs probably won’t include the lines outlining each page, but I’ve included them in the above sample to make it easier to see what’s going on.

I would welcome some comments about my work so far, particularly from anybody who has ever seen WW2-era cipher keying materials. What do y’all think about the overall format? How about the wording I chose for things? What would be a good color of card stock to use for the booklet covers (I’m leaning towards light blue)?

Thanks in advance for any commentary on this.






  2 Responses to “Looking for some Input on M-209 Key Lists”

  1. Hi Mark – You are moving faster than my headlights !!!!! I am trying to keep up. LOL
    I have not ever seen any M-209 keying materials so can’t help you there. The equipment keymat and off-line stuff I was using in the 1970’s – 1990’s was quite different.

    Would sure be nice to have a few OTP pads printed on tasty Rice Paper though !1 LOL

    • Your mention of rice paper reminds me of another question that I forgot to ask: What sort of paper might have been appropriate for cipher keys in WW-2? Assuming I’m even in the right ball park with my month worth of daily keys in a booklet, that booklet would be used for one month and then destroyed. Would it have been printed on bond paper, or on something easier to destroy? Any modern reproductions I might make will naturally be limited to stuff that my laser printer can digest, but there’s still some flexibility in there.

      I’m glad that you brought up OTP tablets, because that’s another item that’s on my radar for future collector/re-enactor prop generation! And in that case, I even know enough to give them the right look and feel. This is another one of the things that has me looking at amateur printing and book binding techniques and equipment. I’d need a perforator, a guillotine style stack cutter, and a heavy duty stapler that can handle 1/4″-1/2″ of paper… and then I could pretty easily generate OTP tablets in 4-pad sets (incoming and outgoing tablets for each end of a single communications link). Some could have a fixed set of published keys for legal on-the-air activities as we’ve discussed before, in which deciphering keys would be openly published to avoid violating part 97 rules against deliberately obscuring meaning of ham band transmissions. Others could have real OTP keys for off-the-air use. Stay tuned…

      By the way, in case it wasn’t clear: My script for generating the M-209 key lists will be published for anybody to use or adapt, though it’ll only be easy to use by folks who are comfortable on “UNIX-like” computers. In fact, the present draft is already up on the server where my M-209 simulator is hosted, as part of the latest pre-release version of my simulator. I just haven’t tagged it and announced it yet since it’s incomplete and changing a lot.