ROKR Perpetual Clock Wooden Kit

For various reasons I don’t feel like elaborating on, I ended up buying one of the cheapest ROKR wooden laser cut kits (2,000 yen ($19 USD) off of They did a good job of shipping it – standard transport only took 2-3 days to get to Kyushu. ROKR is horrible about giving names to the kits, though. There was nothing in the Japanese name that identified this one as a “Perpetual Clock.”

There are several moving rings, but only two of them really matter. One sets the year (right now, it’s at 2020), and the other sets the month. That’s it. The settings give you half the date, and the numbers showing through the little window (see below) give you the days of the week, and the dates for the month. However, it doesn’t handle leap years right. Since 2020 is a leap year, you have to set the month “one-off”, so that September is actually the display for April. Otherwise, it works fine. It’s about 6″ x 6″ x 2″ thick. You have to set the disks manually (the year and the month), and it doesn’t show individual dates (i.e. – Today is Monday, the 6th).


It’s a pretty easy kit to build. The box says there’s 50+ pieces, maybe not including the backup spare parts for the small stuff that’s likely to break or get lost. It took me pretty close to 30 minutes to punch the pieces out and assemble. I didn’t bother with trimming “flash”, sanding or waxing, and the finished kit still works fine. I was confused by why the date wasn’t coming out right when I tried setting the disks, and ended up disassembling the main components and putting them back together again to make sure I hadn’t gotten something wrong. Looking at the instructions on the back page, I discovered the caveats for dealing with leap years. That added another 15 minutes to the total assembly time.

Over all, it’s not a bad kit. It’s easy to work with, and if you want to make it a little more sturdy you can always add glue to the main frame sections. But, there’s no “replay value.” This is something that is going to sit on a shelf or desk, and act as a novelty paperweight. But, it was fun to build, anyway.

Web Reading: Cryptolog, #66 and #67

Cryptolog Download Index

Issue 66, Feb. 1982

Native Scripting of Languages
A Time For Change?
AAAS, 1982: Two Reports
. Software
. Gayler
NSA-crostic No. 38
The Internal Performance Evaluation: Friend or Foe?
A Wail, a Complaint, and a Melange
Krypto: A New Society
Simplicity in Color
Some Advice for Users of Unfriendly Systems
… But What Do I Do with My Papers?

Native Scripting of Languages – This seems to be about the ability of network printers to print in character sets for the languages that the messages are in. The author presents pros and cons for the idea; the cons are cost and complexity to install. The pros are that the linguists would be able to read transcripts in the correct character sets. A side note states that the IBM 3800 printing system will receive a software package that supports Chinese, Korean and Japanese. Mostly redacted.

A Time For Change? – Another report on how things like “serial numbers” have become non-standardized, and need to be straightened out to allow for more software automation to be implemented. Partly redacted.

AAAS, 1982: Two Reports – American Association for the Advancement of Science, 1982

. Software – On the importance of commenting your software code, and using plenty of indenting and white space. Also, the importance of having descriptive error messages.

. Gayler on Arms Control – Admiral Noel Gayler made recommendations on reducing or eliminating manned aircraft, tactical nuclear weapons, chemical weapons and small surface warships in an effort to avoid losing an expensive arms race to the Soviets, and redirect efforts to other options that would be more efficient for the same money. Emphasis is on increased reliance on robotics.

NSA-crostic No. 38 – Not redacted.

The Internal Performance Evaluation: Friend or Foe? – Describing the IPE, which is used to evaluate the effectiveness and efficiency of different intelligence systems.

A Wail, a Complaint, and a Melange – Three poems about cryptanalysis, agency people, and the “joys” of having to work with computers.

Krypto: A New Society – Writing about the KRYPTOS Society, which was formed October 1981. At the inaugural meeting in December, the Deputy Director NSA talked about the importance of cryptanalysis, with some history and the repeating of famous names in the U.S. field, including William Friedman and others. Some redaction. KRYPTOS was founded as a “focal point for Agency cryptanalysts.”

Correspondence – Writing about the article on using UNIX, October 1981, and asking UNIX users to get together more and teach each other what they’ve learned.

Solution to NSA-crostic No. 37 – Quote from Language in the News, Cryptolog Sept. 1974. Mentions a program in Wisconsin to aid in analyzing and teaching native American languages.

Calling All RYE Users – Announcement that RYE will be phased out by mid-1983, and that anyone still using it needs to call a specific phone number for details.

Simplicity in Color – Golden Oldie, from COMMAND, 1971. Joke piece about how Traffic Analysts are to use colored pencils to rank their reports, in a “simple system” that is anything but.

Some Advice for Users of Unfriendly Systems – Recommendations to log bug reports and problems with using software menuing systems and pass them on to the programming departments to try to get software to be more user friendly.

… But What Do I Do with My Papers? – Recommendation to use commercial paper holders to support reports or software listings next to the CRT when typing stuff from paper into the computer. Includes illustrations of how people have tried to keep papers “next to, or under” the desk or CRT when needed.

Issue 67, March 1982

The Personal Computer:
. A Current Cryptanalysis Support Tool
A Historian Looks at SIGINT
Meteorburst Communications
A Brief Treatise on Five Laws of Telephonic Communication
But Life is Supposed to be Hard
Cryptic Crossword
Rules for the Camel Corps
Towards Better System Development
Old Phone Books Never Die
Consumer vs. Computer: A Review
The Mail Box
A Toy Problem
Kryptos Society News

The Personal Computer:
. A Current Cryptanalysis Support Tool – Redacted.

A Historian Looks at SIGINT – Vera Filby reports on a talk given by Ronald Lewin, author of Ultra Goes to War and The American Magic: Codes, Ciphers and the Defeat of Japan. Lewin’s talk was on “SIGINT and Decision Making in War.” The main points in this article are that intelligence is only as good as the people making the decisions, and military decisions are often made less using intelligence and more based on political considerations.

Meteorburst Communications – This is an oddball technical article. The idea is that meteors traveling through the ionosphere create ionization that reflects radio waves in the 20 MHz to 150 MHz range, which can be exploited for long-range communications under otherwise adverse conditions by using specialized repeaters. The transmitters are smaller, can be left in remote locations to run 24 hours a day, and are solar-powered.

[Redacted] – No idea.

A Brief Treatise on Five Laws of Telephonic Communication – A mostly-humorous take on how to get through to someone you’re calling, and the odds of them not calling back (especially if the other person is an intern).

But Life is Supposed to be Hard – A user manual for UNIX commands for indexing data, as part of the agency’s PINSETTER report printing project. Very long and thorough. Partly redacted.

Cryptic Crossword – Not redacted.

Rules for the Camel Corps – The “camel corps” is a reference to the old joke that “a camel is a horse designed by committee.” It is used to refer to the disruptive people that attend meetings and drag things out too much. Basically, this article is a how-to on running meetings more effectively. Most of the instructions still apply today.

Towards Better System Development – Suggestions on how to improve software development for tools designed for Traffic Analysts.

Old Phone Books Never Die – The History and Publications Division keeps copies of old and disused phonebooks for historical research of agency personnel.

Consumer vs. Computer: A Review – Review of the article “Consumer Difficulties with Computerized Transactions.” This is a report on a study conducted on people that complained to company and government consumer complaints departments, asking if they got the responses they wanted, how many calls were needed to resolved a billing or related problem, and how long it took to get their money back, if they ever did. The findings were that companies generally erred to their own benefit, always over-charging the customer, never under-billing, and that in some cases, the customer never got their money back because the process was just too time-consuming and bureaucratic.

The Mail Box – One letter is a joke based on an earlier request for “the strangest bust you’ve ever seen.” In this case, a “bust” is agency slang for an error in encryption, an equipment fault, or a violation of rules for use. Mostly redacted.

A Toy Problem – Given a list of stations and call signs, determine the system used.

Solution to NSA-crostic No. 38 – Quote from “Some thoughts on Lexicography“, Sept. 1974, on how the worst way to make a dictionary is to make a grand compilation of all existing dictionaries.

Kryptos Society News – Redacted announcement on an upcoming meeting speaker.

Thinking About Encryption, Part 130

Turning Grille on Python

I tried writing a Grille solver in VBScript, and it turned into too much work. Since then, I’ve been using Bion’s gadget for solving Turning Grilles, and it’s worked out pretty well. The gadgets tend to be under-documented and under-automated, but at least with the Grille solver I’ve been able to solve most of the Grille crypts I’ve tackled. However, in a recent ACA Cm newsletter (you should join up if you haven’t already, it’s pretty cheap if you’re in the U.S.), one of the members wrote an article on a diamond-shaped Grille, and included a crypt (for credit) in the diamond format. I’m not going to detail the differences between solving a regular square Grille and a diamond (there aren’t that many). However, Bion’s gadget isn’t designed for diamonds, so I ended up having to write my own solver in Python after all.

Setting up the diamond and square formats are both pretty straightforward, and it’s easy enough to put in a toggle flag to pick one or the other. The article mentioned a nice little trick that I do like. Say we have a 4×4 square. Normally, the cells in the square would be numbered, but I’m going to use hex to avoid double digits.

0 1 2 3
4 5 6 7
8 9 A B

If we say that we’re looking at the square to the “north”, we read off the numbers in ascending order. If we rotate the square so we’re effectively looking “south”, we get the numbers in reverse order. Like so:

N: 0 1 2 3 4 5 6 7 8 9 A B C D E F
S: F E D C B A 9 8 7 6 5 4 3 2 1 0

Looking “east”, then “west,” we get:

E: 3 7 B F 2 6 A E 1 5 9 D 0 4 8 C
W: C 8 4 0 D 9 5 1 E A 6 2 F B 7 3

Interleaving them in NESW order:

N: 0 1 2 3 4 5 6 7 8 9 A B C D E F
E: 3 7 B F 2 6 A E 1 5 9 D 0 4 8 C
S: F E D C B A 9 8 7 6 5 4 3 2 1 0
W: C 8 4 0 D 9 5 1 E A 6 2 F B 7 3

We now have 90 degree rotations built into each starting point. Say we want to write our first plaintext letter into position “0”. When we rotate the grille 90 degrees clockwise, the hole will reveal cell 3, then F then C. Likewise:

Hole 1: 0 3 F C
Hole 2: 1 7 E 8
Hole 3: 2 B D 4
Hole 4: 5 6 A 9

Our square is 4×4, giving 16 cells. With 4 rotations, we need to have 4 holes. The above 4 rows, which correspond to columns 0, 1, 2 and 5 in the NESW list, gives us full coverage of the grille. If the “key” is 16BC, and the message “thisisatestwordx”:

Original starting position
. T . . | . 1 . .
. . H . | . . 6 .
. . . I | . . . B
S . . . | C . .

First rotation
I . . . | 0 . . .
. . . S | . . . 7
. . A . | . . A .
. T . . | . D . .

Second rotation
. . . E | . . . 3
S . . . | 4 . . .
. T . . | . 9 . .
. . W . | . . E .

Last rotation
. . O . | . . 2 .
. R . . | . 5 . .
D . . . | 8 . . .
. . . X | . . . F

I T O E - Combined

ITOES RHSDT AISTW X - Final message

Decryption is just the opposite process. Write the crypt text into the square, put the Grille over the text, and read out the letters from left to right, top to bottom, from the holes in the Grille, rotate clockwise and repeat three times.

A bruteforce solver is pretty simple in concept. Take the length of the message and divide by 4 to get the number of “holes”. Take the square root of the length to get the sides of the square. For “ITOES RHSDT AISTW X”, 16/4 = 4 holes, and sqrt(16) gives a 4×4 square. Create an n-list of n cells (n=4: 4×4 array), and fill the square with numbers 1 to length.

.1 .2 .3 .4
.5 .6 .7 .8
.9 10 11 12
13 14 15 16

Set up a series of for-loops to get the numbering from the “NESW” directions and store that to a 4xlen(msg) list of lists.

[[1, .2, .3, .4, .5, .6, .7, .8, .9, 10, 11, 12, 13, 14, 15, 16],
[.4, .8, 12, 16, .3, .7, 11, 15, .2, .6, 10, 14, .1, .5, .9, 13],
[16, 15, 14, 13, 12, 11, 10, .9, .8, .7, .6, .5, .4, .3, .2, .1],
[13, .9, .5, .1, 14, 10, .6, .2, 15, 11, .7, .3, 16, 12, .8, .4]]

Next, go through the list “vertically” to build up the rotation sequences. As you do this, test to see if any given sequence is already in the new list. If it is, skip it. We only want unique rotations.

Rotations = [[1, 4, 16, 13], [2, 8, 15, 9], [3, 12, 14, 5], [6, 7, 11, 10]]

With this, I add an offset list that runs from 0 to 3, with a length of len(msg)/4:

offsets = [0, 0, 0, 0] (translates to key = [1, 2, 3, 6]).

The bruteforce solver then increments the offsets (ptrs) one “digit” at a time, and does the rotations for decryption.

crib = 'TEST'

done = False
while not done:
... strOut = decrypt(msgAry, ptrs, grilleRows)
... if crib in strOut:
....... cnt = countGraphs(strOut) # Get n-Grams count
....... if cnt >= minCnt: # Typically 75-100
........... print('Key: %s\n%s\n' % (getKey(ptrs, grilleRows), strOut))
... done, ptrs = incPtrs(ptrs)

# This is where the real work happens. Combine the ptrs list with the grilleRows lists to get the letter positions in msg. Loop through the ptrs list 4 times, incrementing all of the ptr lists uniformly by one for each pass, imitating the rotating grille. Note, we read the message through the “holes” left to right, top to bottom. But, the hole numbers can be in random order (i.e. 13, 8, 16, 2). I use fixer[] to sort the “hole” numbers in ascending numeric order before reading off the message for each rotation. This may be the slowest part of the program.

def decrypt(msg, ptrs, grilleRows):
... ret = []
... for i in range(4):
....... fixer = []
....... for j in range(len(grilleRows)):
........... fixer.append(grilleRows[j][(i + ptrs[j]) % 4] - 1)
....... fixer.sort()
....... for j in fixer:
........... ret.append(msg[j])
... return ''.join(ret)

# The incrementer is simple. The ptrs[] list starts at [0, 0, 0, 0] for the 4×4 square. Set ptr = 0, and increment ptrs[ptr] by 1. If it reaches 4, set ptrs[ptr] = 0, and ptr += 1, and repeat. When ptr = len(ptrs), I’ve reached the end of the row rotations (len(msg)/4), and I quit the program.

def incPtrs(ptrs):
... done = False
... ptr = 0
... finished = False
... while not done:
....... ptrs[ptr] += 1
....... if ptrs[ptr] == 4:
........... ptrs[ptr] = 0
........... ptr += 1
........... if ptr >= len(ptrs):
.............. done, finished = True, True
....... else:
........... done = True
... return finished, ptrs

# When I get a decrypt that contains the crib, I want to print out the actual key that produced that output. This is a combination of the grille row lists, and the ptrs[] offsets. I want to print this as a string (and not a list). And, I want the key in numerically ascending order (hence the sort()).

def getKey(ptrs, grilleRows):
... ret = ''
... fixer = []
... for j in range(len(grilleRows)):
....... fixer.append(grilleRows[j][ptrs[j]])
... fixer.sort()
... for j in fixer:
....... ret += ' %s' % (j)
... return ret.strip()

It took me a couple hours to write, test and debug the code. With a short 24-letter diamond crypt to test on, total run time was 0.03 seconds. That was promising. I then attacked the main diamond crypt given in the article, which was 84 letters long.

Now, the thing to remember with Turning Grille is that every increase in Grille side size (lengths from 4, 12, 24,… for the diamond shape), the number of “holes” increases non-linearly (1, 3, 6…). The crypt I was working on had 84/4 = 21 holes, which means that the program was looping on the incrementer 4x4x4x4x… 4^21 = 4,398,046,511,104 times. My Patristocrat hillclimber had a best-case looping of 2,000 x 5,000 = 1,000,000 times. Which really means that this is how many times I’m decrypting the cipher text, checking the n-gram count, and testing if the crypt contains the crib or not. The hillclimber takes 5 minutes to finish. Being optimistic, the bruteforce Grille solver should finish in 5-10 years. For a square Grille, this is equivalent to a 9×9 square (81 / 4 = 20 holes plus 1). (ACA guidelines allow for a square Grille up to 12×12. Sigh.)

But, I’m nothing if not optimistic, so I let the program run. After 2 days, I’d gotten a bit of promising text out (all false positives). As I was nearing on the third day of run time, the program spit out what turned out to be 60% of the correct plaintext. I killed the run, then wrote up a manual solving assist tool. This consisted of the decryption function, the routine for building up the Grille rows, and a little command line loop for toggling hole numbers on and off. I hard-coded the key from the promising solution into the assist tool, then I just systematically selected the remaining available text from the Grille to fill in the gaps. Total programming, test and debugging time for the assist tool: About 1 hour. This included the time to get the full solution in ACA format.

By day 3 of the program run, I really had no expectation of being able to solve this crypt on my own, so it was something of a shock when everything worked out right. Even further, I’ve now solved 91 of the 102 crypts in the issue, and I have just under 3 months to submit my answers for credit. I’m tempted to try tackling the 4 “unknowns” and see what comes of that…

[Edit: One of the unknowns turned out to be one of the Morse code-based types, bringing me up to 92 solves.]


Web Reading: Cryptolog, #64 and #65

Cryptolog Download Index

Issue 64, Dec. 1981

Exercise Support
The 1981 URSI XX General Assembly
Sleep Well! Your SDO is On Duty
TIDE: A Brief History
NSA-crostic No. 36
In Pursuit of: Faster Horses, Younger Women, Older Whiskey, and More Money
TEXTA; What is It? Where is It Going?
PLATFORM: How Did You Say That Works?
Review: In the Name of Efficiency

Exercise Support – A group of NSA members participated in a simulated military exercise to see how communication and comm security work under war-like conditions. This article is a summation of how the exercise was conducted, and how well the NSA team performed under stress.

The 1981 URSI XX General Assembly – Report on the 1981 General Assembly meeting, held in Washington DC, in August. Information made available included improvements in optical fiber communications, which in Europe means more land traffic and less reliance on satellites. Various improvements in general technology. Part of the article is redacted.

Sleep Well! Your SDO is On Duty – Humorous article on when the author was a Security Duty Office (SDO) in the 1950s. He refers to it as a “sleep watch”, in that the SDOs roamed the halls of the main building at night. Between rounds, their main activities were finding working coffee makers with unprotected stashes of coffee, and sleeping on a cot made of rocks.

TIDE: A Brief History – Mostly redacted article about TIDE, a mostly-failed computer project.

Cryptic Crossword solution from Nov. 1981

NSA-crostic No. 36 – Redacted.

In Pursuit of: Faster Horses, Younger Women, Older Whiskey, and More Money – The author is a Traffic Analyst who has been working on developing UNIX scripts for other TAs. He’s a big advocate of UNIX as a support OS for TAs who otherwise receive little attention from computer programmers.

TEXTA; What is It? Where is It Going? – TEXTA is the Technical Extracts From Traffic Analysis, which exchanges traffic analytic information between four of the national centers. Mostly redacted.

PLATFORM: How Did You Say That Works? – PLATFORM is an interface system that’s supposed to interconnect terminals and other equipment from different manufacturers. The author lists the ways PLATFORM doesn’t work. Mostly redacted.

Review: In the Name of Efficiency – Review of a book by Joan M. Greenbaum (1979). The reviewer thinks Greenbaum’s main points are valid, and that the main problems in managing computer programmers are that managers want control over how their programmers work, and who they can talk to, so they create artificial barriers between different software functions (programming, keying, development), and prevent those groups from trading the tips and tricks they’ve learned.

Issue 65, Jan. 1982

HF – The Rebirth
Video Encryption: A Report From EASCON 81
Data Field Naming/Coding Conventions at NSA
NSA-crostic No. 37
The Literary Bends
All the Alligators Aren’t on Sport Shirts
Human Factors Corner

Editorial – The editor says that The Research and Engineering Review magazine has folded due to a lack of people writing articles for it.

HF – The Rebirth – Report from a one-day seminar at Langley AFB on the increasing use of HF. The military decided to switch from using High Frequency radio communications to satellite, but then realized that they’ve been losing their HF specialists and are now regretting this. There have been big improvements in HF equipment, and the military wants to keep using bandwidth that had been promised to third-world countries. Partly redacted.

Video Encryption: A Report From EASCON 81 – Writing about video encryption technology for satellite broadcasting. Includes a mention of Home Box Office (HBO) being introduced and having the best new technology for audio and video encryption.

There’s a little drawing of a TV at the end of the article, with some kind of cryptogram. 12 groups of 5 letters.

Data Field Naming/Coding Conventions at NSA – The author presents a paper on the basics of data standards. The idea is to have unique names for data fields, and standardized processes for taking data from data fields. Based on existing specifications that most people never read. Half redacted.

NSA-crostic No. 37 – Redacted.

The Literary Bends – One of the teachers for the agency’s language school laments the level of English used in today’s reports, and largely blames management for not letting students from the classes use what they’ve learned. One main complaint is that newer managers picked up bad writing habits when they were in high school (insert complaint about “today’s public schools going downhill) and forcing their subordinates to not use “good practices” from the agency’s classes. The author then goes on to describe the English rules that managers should be letting their subordinates follow. Some redaction.

All the Alligators Aren’t on Sport Shirts – Redacted.

Human Factors Corner – Review of the paper “Information Systems – The Management Challenge.” The paper discusses office automation, and describes what steps to take to effectively introduce OA to various departments/companies. The main take away is that to get all employees to accept the new “paperless systems,” you need to give upper management the really cool cutting edge machines first, and then trickle down the lesser equipment to the people that really need it.

Letters – Answer to a question about Greek Goddesses (Terpsichore and Persephone). The writer also mentions someone saying that “nonferrous steel is steel without any iron in it.” A second writer comments on the Stairwell Society, and says there’s a similar group in one of the shorter, 7-story buildings.

Solution to NSA-crostic No. 35 – Quote from “A Traffic Analyst Looks At Computers.”

Web Reading: Cryptolog, #62 and #63

Cryptolog DownloadIndex

Issue 62, Oct. 1981

Economic Intelligence: Problems and Prospects
Technical Support Catalogs
NSA-crostic No. 35
The Stairwell Society

Editorial – The editor comments on the loss of typists in the agency, leading to a decrease in the number of technical reports being produced.

Economic Intelligence: Problems and Prospects – Fully redacted.

NSA-crostic No. 35 – Redacted.

Technical Support Catalogs – Discussing The DDO’s Analytic Technical Health Group’s technical support catalog of available documents. Partly redacted.

The Stairwell Society – Joke story about someone that started walking up and down the stairs in one of the agency’s taller buildings, because he was afraid of elevators, and how he discovered a secret society of stairwell climbers.

Issue 63, Nov. 1981

The PPC is Coming!
. Future Powerful Personal Computers
. An Overview of the Technology
Futuristic Reporting
Cryptic Crossword
Say What You Mean
How to Create a User-Unfriendly System
OPELINT is Alive and Well in B Group
Review: What Do You Think?

Editorial – Answering the question of whether the Cryptolog is going to die off or be merged with another publication. Answer: “We’re not going anywhere at the moment.”

The PPC is Coming!
. Future Powerful Personal Computers
. An Overview of the Technology – This is a combined article by one author. He starts by distancing the newest generation of home and workplace PCs from “personal computers” such as the earlier TRS-80 and the Apple II. The CPUs for what he terms “Powerful PCs” (PPCs) include the Intel 8086, Zilog Z-8000 and the Motorola M-68000. The article visits every element that makes up what we now view as “a PC”, from the available CPUs, memory, storage devices, sound cards, video cards, network connections, monitors, the OS and programming languages. At the time, this was major news, but to modern-day audiences you’ll probably just get a “huh?” reaction. (Base price for the CPU was $10,000, and $2,500 for 30 meg external storage.) He concludes by asking what all this means to the NSA and what they should do about it. Answer – “We’re looking at them now, and we’ll see what we can get them to do that our mainframes can’t.” But, “PPCs” on every desk would still be better than having to time share terminals.

Futuristic Reporting – The author states that while the agency has switched over to using computers for the reporting functions (type-up and printing), there are still a lot of pieces in the report generation and approvals chain that are done manually or on a typewriter. Problem areas include valuing the quantity of reports generated over quality, the need to manually check for spelling errors in place names, having to prepare complex cover sheets for reports management purposes, the inability to do any work at all when the computer goes down, and the amount of time needed for report preparation and translation. The section on what is being done to fix the situation is largely redacted, but one suggestion is to simply hook up TRS-80s at people’s desks and interface them to the mainframe. The biggest issue is a lack of a clear policy on how to use technology to improve reporting. The article includes a picture of R2-D2 to show that they’re looking to the future of reporting in the 80’s.

Cryptic Crossword – Not redacted.

Say What You Mean – Revisiting the issue of using security classifications correctly. The author’s starting point is that the agency uses jargon (“sanitation” to mean that a document has had sensitive material removed for release to a specific target audience (i.e. – customer), “compartment” to indicate that sensitive material can only be read by one small group of people at a specific level (i.e. – Secret, intended only for members of a specific data collection project)). He then goes on to say that many people in the agency understand the jargon differently, and he tries to lay out the correct meanings for the various security classifications.

How to Create a User-Unfriendly System – Trying to get software designers to understand the user’s viewpoint for project design, and to convince the designers to have more empathy for the users of their systems. Includes a few diagrams for how to illustrate program flow as it affects the user (such as with trying to find high-use data entry screens within menu systems that bury everything and make those screens hard to find). Very long.

OPELINT is Alive and Well in B Group – Building on the call from the Aug. 1975 “Yes, Don, There IS an ELINT” article to have someone explain what OPELINT is or does. The problem here is that this article is highly redacted and doesn’t give a definition of “OPELINT”. My guess is that this is “Operations Electronic Intelligence”, and refers what happens after you monitor satellite communications and the like. That is, OPELINT takes the raw ELINT data and tries to use it for analyzing the target’s (enemy’s) activities.

Solution to NSA-crostic No. 35 – Quote from “Plain English“, Cryptolog May 1977. Extract – “If we want personnel to use plain English, we should first teach them plain English.”

Review: What Do You Think? – Review of a paper published in the Computer Bulletin, June 1972, entitled, “Wouldn’t It Be Nice if We Could Write Computer Programs in Ordinary English — Or Would It?” by I.D. Hill. The reviewer summarizes Hill’s arguments and states that Hill provides lots of humorous examples for why proponents of “natural programming languages” will never be able to create a compiler that would take in native-level English and turn it into executable code, but he doesn’t reprint any of these examples in this review. The bottom line is that both Hill and the reviewer think that the search for natural programming languages is doomed to fail.

Web Reading: Cryptolog, #60 and #61

Cryptolog Download Index

I started reading the Cryptologs at the end of May, 2020, and I posted the first summary on June 3rd. Since then, I’ve been reading them at an average of about 4 issues a week, and the summaries have been running 2 issues a week. It’s now Aug. 23 as I write this. I’ve now posted issues 22/23, and I have backlogs up to #59. In the last few issues, the newsletter went from monthly to almost quarterly, and the number of articles I have any real interest in, primarily on unredacted cryptosystems and language learning, has been going down. Up to this point, I’ve been reading pretty much everything from beginning to end. However, from now I’m pretty much going to just skim anything I don’t have direct interest in, although these summaries will still be about as detailed as before.

Issue 60, Jan.-Mar. 1981

SIGINT in the 80’s: Two Views
. I. Robert E. Rich
. II. William Lutwiniak
How to Improve Your Promotion Potential
NSA-crostic No. 32
Translator in Your Pocket
Some Things Never Change
NCS-CLA Symposium
Why Do They Leave?

SIGINT in the 80’s: Two Views – The First Annual Symposium of the Communications Analysis Association was held in 1980. The keynote address had been given by Robert Rich, and the concluding remarks were made by William Lutwiniak. Their speeches are reprinted here.

. I. Robert E. Rich – A mostly upbeat assessment of the current state of the health of SIGINT, and calling for everyone to remain flexible and on top of their game. Partly redacted.

. II. William Lutwiniak – Heavily redacted, but emphasizing the need for analysts to further embrace the advances in computer technology and automation.

Solution to NSA-crostic No. 31 – Quote from “Q.E.D. – 2 Hours, 41 Minutes,” by Lambros Callimahos, in the NSA Technical Journal, Fall 1973.” The quote is a rejection of the offer to sell the Kryha cipher machine to the agency.

Kittiwake – Redacted.

How to Improve Your Promotion Potential – Introducing the new Performance Planning, Evaluation and Counseling Program (PPEC), and offering suggestions for how to increase the reader’s chances of getting promoted. The main advice is to do your job well, be on good terms with your manager, and keep your performance records up to date.

CLA/NCS Film Series – “Wozzeck” (German), “Border Street” (Polish).

NSA-crostic No. 32 – Not redacted.

Translator in Your Pocket – Overviews of three hand-held translator/calculators – Lexicon LK-3000 by Nixdorf, the Craig M100 and the Texas Instruments Language Translator. The machines were in the $120-$300 range, with extra language modules available for $25 to $60 each. The assessments are that none of these machines is a replacement for a pocket dictionary, but they do give you bragging rights. However, they are programmable, and the agency had been researching the idea of whether they could be turned into pocket codebooks and cipher machines.

Some Things Never Change – Quote from Petronius Arbiter, 210 B.C. “We trained hard … but it seemed that every time we were beginning to form up into teams we would be reorganized. I was to learn later in life that we tend to meet any new situation by reorganizing; and a wonderful method it can be for creating the illusion of progress…”

NCS-CLA Symposium – Announcement of a Language Training Symposium in May and June. Includes language training programs and perspectives, and speakers from in and outside of the agency.

Why Do They Leave? – Results of a survey of 63 linguists that changed jobs on why they left. Primarily, the reasons revolved around a lack of promotional paths, and feeling underappreciated. The author says that the agency doesn’t have a “language” problem. Instead, it’s a management problem.

Issue 61, Apr.-June 1981

Middle-Age Spread
Grading the Russian PQE
Third Party Relationships
The Poet’s Corner
NSA-crostic No. 33
Classic Cables
Traffic Analysis: Specialty Without Portfolio
DIA Videocassette Program

Middle-Age Spread – Equating the “mid-life” stage of the organizational life cycle to people reaching mid-life. Bloating in the middle ranks, stagnation, and a loss of productivity. The suggested solution is for managers to learn how to become leaders.

Solution to NSA-crostic No. 32 – Quote from “The Joys and Frustrations of Plural Dropping.” Specifically about a young girl being told she was eating cheese, who then asks for another ‘chee’.

Quote from the opening sentence of a doctoral dissertation in physics, cited in Smithsonian, March 1981 – “This field of research is so virginal that no human eye has ever set foot on it.”

Grading the Russian PQE – Article on the changing of the Russian translator’s test from a point grade to pass/fail. Partly redacted.

Third Party Relationships – Redacted.

The Poet’s Corner – Reprinting of a Disposition Form (D/F) which surfaced during a friendly rivalry between the MATH group and ADVA (predecessor of the Cipher Analysis group) over the refusal of the ADVA people to use eigenvectors in a math problem. William Lutwiniak wrote a challenge in poem form to the Chief of ADVA.

NSA-crostic No. 33 – Redacted.

Classic Cables – Humorous cable requesting information, with the subject “I shot an arrow into the air—” (where did it land?)

Traffic Analysis: Specialty Without Portfolio – Largely redacted article on how Traffic Analysts are being under-utilized.

DIA Videocassette Program – The Collateral Documents group announces its collection of videocassettes from the Defense Intelligence Agency, including documentaries on the Soviet military and interviews with authorities on Chinese society.

Web Reading: Cryptolog, #58 and #59

Cryptolog Download Index

Issue 58, Jan.-Mar. 1980

There’s a New World Coming – Are You Ready?
System Acquisition Document Review
Analysts of NSA Arise!
Coming Home
CIRC: An Intelligence Data Base
Between the Lines of Your Performance Appraisal
NSA-crostic No. 30
NSA/CSS Military Linguistic Program

There’s a New World Coming – Are You Ready? – Speculation on how analysis work may change over the next decade [partly redacted]. The author divides “analysts” up into three groups – loggers, case analysts and research analysts. With the advent of greater computing power and more software tools, the author thinks that “loggers” will disappear entirely, and the best case scenario is that the “actually talented” ones will retrain to move into other jobs. Case analysts will be able to do their work faster and with fewer errors, while the research analysts will be largely unaffected.

LIP – Mostly redacted article on a software tool for automatically determining the language of a source document. There’s a small amount of information on the processes used, with the conclusion that testing for digram frequencies and matching that to a database is the most accurate, reliable method found to-date.

Jokes  – “Why are all the streets in America which are named after a Frenchman in such terrible condition, and who was this fellow DeTour, anyway?” A second writer talks about driving through Italy and wondering why all the villages had the same name. Eventually, he realized that the word he was seeing meant “Men at work.” The third piece is on a failed project “to get information to the Russian people” at the start of the Cold War. One decision was to set up a transmitter in California to reach the radio hams in the Soviet Union. U.S. law required that all transmitters have a three-letter call sign, starting with “K” for stations to the east of the Mississippi, and “W” to the west. The call sign chosen was WRU (for “Russia”). Unfortunately, the Russian hams didn’t believe any of the broadcasts, and eventually someone figured out that the Morse code for “WRU” at the beginning of the transmissions converted into Russian as “BPY”, which translates to “I’m lying.”

System Acquisition Document Review – Announcement of new review forms becoming available for System Acquisitions.

Analysts of NSA Arise! – Another listing of online informational databases available to the agency, and the promise of a paper-less (less paper, not “no paper”) office.

[Redacted] Wins the Sydney Jaffe award – Redacted announcement of the latest Jaffe contest.

Coming Home – Reprint of a Women in NSA (WIN) newsletter article from May 1980 (is this a misprint?). The author had been accepted for an “external training program” in the DoD. She’d expected to be able to use her experience in her job when she finished the program after an unspecified period of time, and maybe even use it for a promotion. However, her previous job had been phased out, and there were no existing openings that she could apply for, primarily because of bureaucratic cost-cutting decisions. She eventually did find new work doing what she wanted to do, but with no help from her management. She offers suggestions to everyone one else planning to follow her footsteps.

CIRC: An Intelligence Data Base – Central Information Reference and Control, an online system with access to almost 5 million scientific and technical documents from other countries. Mainly for analysis support, in conjunction with the Defense Intelligence Agency and the Air Force’s Foreign Technology Division.

Solution to NSA-crostic No. 29 – Quote from “[Proposed Cure for the] Time-in-Grade Syndrome.”

Between the Lines of Your Performance Appraisal – Not in this PDF file.

NSA-crostic No. 30 – Not in this PDF file.

NSA/CSS Military Linguistic Program – Not in this PDF file.

Issue 59, Apr.-June 1980

Data Flow – Challenge of the 1980’s
A Traffic Analyst Looks at Computers
P16 Language and Cryptologic Library
… And in a More Modern Vein
Oh, K!
NSA-Crostic No. 31
Lime-A, Ohio; Leem-A, Peru
Soviet C^3
What to Do About “FANX”
Help Wanted

Data Flow – Challenge of the 1980’s – Reprinting of an address given to the Computer and Information Science Institute. At the time, there was no one data flow from source (collections) to target (user reports) of data running through different groups. At various stages, the data had to be printed out and/or otherwise manually filtered, modified or manipulated before being re-entered into the electronic flow process. The speaker describes changes being made to data flow to automate the manual steps, and allow analysts to communicate “directly” with each other terminal-to-terminal.

Solution to NSA-crostic No. 30 – Quote from a Letter to the Editor on the inadequacies of the COPES system,

A Traffic Analyst Looks at Computers – The writer describes his process of switching from paper-and-pencil work to electronic CRT and keyboard. Some of the limitations involve screen space being too limited to allow having multiple reports open at one time, and getting a stiff neck from staring at an improperly placed CRT while wearing bifocals.

P16 Language and Cryptologic Library – An invitation to come to the Library and look at original copies of older references on cryptography in their collection. Includes texts dating back to the early 1700’s.

… And in a More Modern Vein – Suggestions for more modern texts on bookbreaking. 1950’s-80.

Geographic Trivia – Listing the highest and lowest places in the U.S., and asking what the lowest high place, and highest low places are. Also asking what the most populous state capitals are.

Oh, K! – Asking what the abbreviation “K” represents. Answers are “1000”, “1024”, “512” (1000 octal), “4096” (1000 hex) and “DDT” (agency organizational identifier).

NSA-Crostic No. 31 – Not redacted.

Lime-A, Ohio; Leem-A, Peru – Humorous reprint from “Twelve Language Anecdotes in Search of an Author,” by Arthur Salemme (former Cryptolog editor). This one is on pronunciation differences for city place names between the Russians and the Soviets.

AIT – Advanced Identification Techniques. The author gives a brief history on the means for identifying transmitters by RF characteristic, the present status of AIT, and a prediction of the future. Mostly redacted.

Answers to Geographic Trivia – Lowest high is in Walton County, Florida (345 feet). Highest low is 3350 feet in Prowers County, Colorado. The most populous state capital is Indianapolis, with 725,077 inhabitants; followed by Honolulu (705,381) and Phoenix (664,721), as of the 1975 census.

Soviet C^3 – Redacted.

What to Do About “FANX” – One of the buildings at Fort Meade that went up in the 1960’s was the Friendship Annex, which was referred to then as FANX. Eventually, the nearby Friendship Airport was renamed and the author suggests that they now refer to the old FANX building as South Linthicum Annex, or SOLINEX.

Help Wanted – Joke job requirements for Transcriber Trainees to Senior Linguists, including experience in a bunch of different fields, and as an admiral, general, rocket scientist and/or launching a satellite.

Web Reading: Cryptolog, #56 and #57

Cryptolog Download Index

Issue 56, Aug.-Sept. 1979

On Coming of Age at NSA
An August Baudy
NSA-crostic No. 28
Insufficient Normalcy of Methodry
NSA Promotion Boards: How they Work
… But, On the Other Hand
Punctuation: More Than Meets the Eye
Letters to the Editor
Memorable Memos
Club News: CAA and CMI

On Coming of Age at NSA – The author reminisces about her time with Green Traffic (hand-written reports from Traffic Analysts), how she got involved as a TA doing computer support, and eventually ended up managing a computer hardware department. Mostly humorous, but partly redacted.

CLA-NCS Foreign Film Series – “The Forty First” (Russian), “Impossible on Saturday” (Hebrew), “Sanjuro” (Japanese), “Three Fables of Love” (French) and “The Father” (Turkish).

An August Baudy – Talking about a new Signals Collection dictionary that may or may not eventually come out, and the difficulty the author and the rest of the selection panel had with agreeing to the definition of “baud” (i.e. – the shortest element of a signal, such as the time needed to transmit a “dit” in Morse Code, versus data transmission rates).

NSA-crostic No. 28 – Fully redacted.

Insufficient Normalcy of Methodry – Sydney Fairbank’s final article, July 1959, on bad English used in Agency memorandums, specifically using huge multi-syllable words when a couple short words would have said the same thing more clearly. The PDF I have mistakenly contains the same article twice in a row.

NSA Promotion Boards: How they Work – Responding to the article on “Some Tips on Getting Promoted“, describing the way the Promotion Boards make selections on who gets promoted each quarter.

… But, On the Other Hand – Suggestion that, because departments of 100 people may only be allowed to promote 4 people a year (one per quarter), the best option may be to institute a lottery.

Punctuation: More Than Meets the Eye – Printing the translation of a Russian joke about how the loss of punctuation marks leads to one man’s loss of personal identity.

Letters to the Editor – The first writer comments on how faster and more powerful commercial home computers (TRS-80) are coming out faster than the Agency’s own systems can keep up, but that there’s still the TEMPEST issue of eliminating RF emissions. He suggests that the Agency find a way to simply shield entire buildings. One of the COMSEC chiefs replies that this is not feasible, cost-wise, but is open to suggestions. Second writer steps into the TA overage flamewar. There’s also an announcement that 26 military linguists received language proficiency certificates.

Memorable Memos – Redacted.

Club News: CAA and CMI – The Communications Analysis Association announces its new officers, and that membership in the CAA includes an automatic subscription to the Cryptolog. The Crypto-Mathematics Institute wants retired former CMI members to rejoin.

Solution to NSA-crostic No. 27 – Quote from a memo to General Ismay from Winston Churchill, from Vera Filby’s “Cover-terms” article in the April 1975 Cryptolog.

Further to “A Somewhat Larger Problem…” – The callsign table was taken from a larger chart, which is redacted.

Issue 57, Oct. 1979

Snowballs on the Roof
Another Source
NSA-crostic No. 29
The Roads Around Us
The 2000-Year-Old Transcriber
Letter to the Editor
Club News

Snowballs on the Roof – A listing by Vera Filby of almost all of the antennas on the agency building roofs. Kind of a “Bird Spotter’s Guide to Agency Antennas.” With photos, a couple of which are redacted.

[Redacted] – Fully redacted.

Another Source – Describing the Agency’s practice of buying and selling used equipment between various government agencies, to save money.

The Analyst in the 80’s – The Communications Analysis Association announces its first annual conference, for October, 1980.

NSA-crostic No. 29 – Not redacted.

The Roads Around Us – The promised article giving little backgrounds on the men that the four main roads at Fort Meade HQ are named after: Henry J. Herczog, Howard T. Engstrom, William D. Wray and Col. Harry E. Towler.

The 2000-Year-Old Transcriber – Joke article on the “history” of transcription, along the lines of Carl Reiner and Mel Brooks’ 2000 year old man comedy routine. One example was of the transcription consoles, which are described as badly designed desks. 2K YOT hopes that they were recycled into something useful, like beer cans.

Solution to NSA-crostic No. 28 – Quote from “Mokusatsu: One Word, Two Lessons.” On the difficulty in translating common words from one language into something unknown to speakers in a second. The example given is “how do you translate “anchor” into a language spoken by nomad[ s…] in the midst of the Sahara Desert?”

Letter to the Editor – One writer corrects “On Coming of Age at NSA“, saying that the first ever system to have remote terminals wasn’t ROB ROY, but ROGUE (Remote Operated General Use Equipment), with 4 terminals in two different buildings.

Club News – Announcement of two different contests. The CLA is to recognize “exceptional achievement in the field of language” with the Sydney Jaffe Award, and the CLA has an essay writing contest.

Web Reading: Cryptolog, #54 and #55

Cryptolog Download Index

Issue 54, June 1979

Teaching Computer Science to Linguists
The Story of MOSES
Traffic Analysis of the Future
How Are Your Stamina
NSA-crostic No. 26
Data Standards Without Teeth
… Mr. Pattie Replies
Letters to the Editor
The Baltic Encoders
The Navajo Code Talkers

Teaching Computer Science to Linguists – Results of a project to teach linguists how to write simple programs in PL/1, ALGOL, FORTRAN and SNOBOL. The idea was to introduce computer concepts to non-computer people, so they’d be less likely to accidentally delete their work. Includes old Doonesbury strips reprinted with permission (the ones where Megaphone Mark is taking a computer class at Walden).

Sign Language – International street signs reinterpreted as jokes (Curve Ahead becomes “Snake Crossing”, and Children Crossing is “Beware of Purse Snatchers”).

The Story of MOSES – Describing the Multi-national On-Line Scheduled Even Survey, a database system for collecting the dates of various upcoming science, technology and language conferences, meetings, etc.

[Redacted] – Fully redacted.

Traffic Analysis of the Future – Trying to predict how the shrinking of the TA talent pool, and increase in machine-assist tools, will impact the field of Traffic Analysis in the next 10 years. About half-redacted.

How Are Your Stamina – Stanley Fairbanks reprint from Jan. 1959. Writing about the inconsistencies of singular and plural English word endings. (Includes calisthetic/s, mathemathic/s, tactic/s, statistic/s.)

NSA-crostic No. 26 – Not redacted.

Data Standards Without Teeth – Comments to the NSA Data Standards Center on the dictionary/directory flamewar, and how the NDSC doesn’t have the authority to reprimand people that don’t follow the standards.

… Mr. Pattie Replies – The NDSC’s role is not standards enforcement. It’s to let everyone in the Agency know what the standards are, and that there can be conflicting standards for different kinds of work.

Letters to the Editor – The writer suggests that the missing 6th language from the Lingui-trivia segment in the last issue is German. Another writer complains that the moves of science, math and computer science books to new locations in different libraries makes things harder for people needing those books to find them. The Chief of the Library replies that they’re going to use usage records to figure out where specific books are in highest demand, and relocate those books as needed in the future. Another writer in the field comments on the “Let’s Not Lose Our TA Skills“, saying that their office had just been downsized because of a perceived over-staffing of TA personnel.

The Baltic Encoders – Redacted.

The Navajo Code Talkers – Reprint of a Dec. 1971 Wall Street Journal article on the Navajo Code Talkers, as a postscript to The Baltic Encoders.

Did You Know? – Announcement that NSA personnel can request access to the CIA’s collection of 20,000 films and video tapes.

Help Wanted – Joke piece about one analyst who keeps finding news snippets in the newspapers that are made up of abbreviations that he can’t make sense of. Basically, they’re job ads in the newspaper Classifieds.

Issue 55, July 1979

Source Protection: Our Agency’s Insurance Policy
Naval Readiness: A Basis for Comparison.
NSA-crostic No. 27
Wilt Thou, Angelina?
Gears of the Mouth
Letters to the Editor
Shootout at the SIGINT Corral

Source Protection: Our Agency’s Insurance Policy – The author tries to put the conflicting goals of greater access to “product” (SIGINT reports to other agencies) and the need for increased security into perspective. The “customer” wants to know where the information came from (original source), but that’s going to be masked to protect exactly what those sources are. Largely redacted.

Naval Readiness: A Basis for Comparison – Trying to determine how prepared the U.S. Navy is, by looking at Nazi Germany’s ship build-up prior to WW II. Gives the number of ships and submarines at the start of the period, how many were operational and how many not, and how many new units were built or planned to be built between 1939 and 1947. While there’s no actual comparison between German ships at the end of The War and current U.S. ship building capacity, the author does conclude with the statement that German ship production was outstripped by submarine production, and that overall, production at that level was completely unsustainable, and the German ships would only have lasted 2-3 years after the reserves ran out.

NSA-crostic No. 27 – Not redacted.

Wilt Thou, Angelina? – Sydney Fairbanks on “hyper-urbanism,” the tendency for rural folks to sound like “city dwellers” by trying too hard in getting certain pronunciations right. One example is of a Brooklynite struggling to not pronounce “pearl” as “poil” then ending up pronouncing “point” as “pernt.” This segues into the misuses of “shall” and “wilt” (“shall you?” and “wilt thou”). Includes the joke quote “”Whom are you?” said Cyril, for he had been to night-school. -George Ade.”

Gears of the Mouth – Reprinting of an address at the Language Quality Control Symposium, March 1970. Basically, it’s a treatise on how to ensure that printed reports from the Agency are well-written and error-free. Largely redacted.

Russian Handbook of Spoken Usage, vol. 3 – Announcement that the agency’s publication office was close to releasing the third volume of a five-volume set on spoken Russian.

Letters to the Editor – Rebuttal to the letter in the last issue on the vanishing of TAs at the agency. The second letter is a confirmation that there’s something wrong with the agency’s beancounter approach to allocating TAs to different offices. The third letter responds to “The Fear of Testing,” saying that many of the agency’s old-timers refuse to take the tests out of spite, because they were ignored when the rules for professionalization were introduced, which favored the more recent recruits. The fourth letter asks who has been doing the artwork for the Cryptolog in the last few issues. The Editor responds that the artist known as L2 started in the Cryptolog with the March issue.The final letter is in response to the missing language, saying that it’s a German form of Yiddish, dating back to when Catherine the Great brought German farmers to Russia in the 1700’s.

Expert – Discussing an unpopular software database system called “EXPERT.” Largely redacted.

Shootout at the SIGINT Corral – Fully redacted article that apparently relates somehow to the old SPELLMAN project. The “2000 Year Old Transcriber” joke article in the Oct. 1979 issue refers back here saying that this is “a more optimistic view of the concept.”

SOTP – Announcement of the Seminar On Translation Problems in Sept. Covers pretty much everything, from ambiguity in different languages, to sessions on correcting problem translations.

Solution to NSA-crostic No. 26 – Quote from the letter to the editor, Oct. 1978, on jokes about female Traffic Analysts.

Apology – Answer to the April “A Somewhat Larger Problem” puzzle, for which the Editor apologizes that they’d forgotten to run it a few months earlier. The puzzle was redacted, but the idea was to recreate some kind of table. The answer to “what was the allocation system used” is to appear in issue 56.

Thinking About Encryption, Part 129

Twin Bifid

A couple weeks ago, I wrote about solving a 5×5 Bifid, and that I’d been unable to successfully use a bruteforce wordlist attack against the key alphabet, or a hillclimber, to crack that or a Twin Bifid. I ended the blog entry at that point. However, I’d gotten up to 88 solutions, with 22 of the 26 Cipher Exchange puzzles. That left me with 3 more crypts that I felt I had a chance to solve, and a shot at 91 out of 102 puzzles total. Percentage-wise, that would be another personal best, and I still had over 3 months before the October deadline for submitting the solutions for credit. Ok, yeah, let’s do Twin Bifid next.

See the write-up for details on solving the normal 5×5 and 6×6 Bifids. The main point is that with a manual solving approach, you’re given a crib that you have to place. After this, you build up the “equations” the crib gives you, and use that to fill in the Polybius square. Use the square to print out as much of the plaintext as you can, and alternate between solving the square and solving for the plaintext.

With Twin Bifid, you have two messages that use the same Polybius square, but have different periods. At least part of the two messages are identical. This way, although you don’t get a crib directly, the equations you build up through equivalence will contribute to filling in the square, and now you have two different messages that give you additional hints to plaintext words you can complete.

Say we have the following two messages, and we’re told that the first 25 letters are the same. Additionally, the letters are grouped to match the periods used (periods 5 and 7).



For illustration purposes, I’m going to use a new convention. Normally, we’d have the Polybius square, and we’d use the row and column numbers to identify both of the crypt pair values (i.e. – “A” = 11 becomes A0 = 1 and A1 = 1, or Ar (row) = 1 and Ac (column) = 1). That doubles the length of the example text, so I’m going to use Aa, where A = A0 or Ar, and a = A1 or Ac. With this convention, write out the intermediary step for decryption in two rows of period length, as row/column identifier pairs.

FfSsH PpGgT BbBbD RrIiE RrOoR - Msg 1 rows
hPpUu tHhTt dEeOo eEeYy rPpLl - Msg 1 columns

FfSsHhO GgMmMmO LlRrQqE BbLlRrE - Msg 2 rows
oPpUuOo oTtQqPp eLlUuLl eOoEePp - Msg 2 columns

Remove the spaces, trim the second message to be 25 letters long, and align the Msg 2 rows and columns under the Msg 1 rows and columns.

FfSsHPpGgTBbBbDRrIiERrOoR - Msg 1 rows
FfSsHhOGgMmMmOLlRrQqEBbLl - Msg 2 rows

hPpUutHhTtdEeOoeEeYyrPpLl - Msg 1 columns
oPpUuOooTtQqPpeLlUuLleOoE - Msg 2 columns

We know that the plaintext here is the same for both messages, so the letters that encipher the row values for both messages map to the same plaintext letter row. The same holds for the column letters. This lets us build up a set of equivalency equations. In places where the two letters are the same (i.e. F=F and s=s) ignore and skip.


Notice that on the first line, we have h=H. This means that “H” is on the diagonal in the Polybius square. Using my solver assist tool, the full set of equations is:

1: ['P0', 'H1', 'O1', 'H0', 'E1', 'L0', 'U0', 'Y1', 'D0']
2: ['P1', 'O0', 'B1', 'T1', 'T0', 'M0']
3: ['B0', 'M1', 'R1', 'L1', 'E0', 'R0', 'I0', 'Q1']
4: ['I1', 'Q0', 'D1']
5: ['Y0', 'U1']

I prepended the line numbers for two reasons. First, this lets me refer to the equations by line number more easily. Second, I can now build up the Polybius square with these purely arbitrary values, and immediately get some of the plaintext out of the cipher texts. I also switched back to “A0” and “A1”  because I find this notation a little easier to read here.

. 12345
. -----



I’m only going to use my uppercase/lowercase convention in the first message, because I’m hand-editing this specifically for the blog, and it’s getting to be too much work to do this for both messages. Just pretend that the second letter of each pair is lowercase, and therefore refers to the column number for that letter. That is, “O” = 21, so “O” row = O0 = O = 2; “O” column = o = 1 (or, Oo = 21).

It should be obvious that both messages start with “once upon a time there were…”


This gives us:
O=Fh = F row + h col
N=fP = F col + P row
C=Sp = S row + p col
E=sU = s col + U row

. 12345
. -----

Looking at “O = Fh = F row + h col”, we have O and H already, but we’re missing F from the table. O row = 2, so F row has to be 2 as well, but we don’t know which column F is in, 4 or 5. In the next equation, “N = fP”, we only have “P”. We’re missing “S” and “C” from equation 3, but with equation 4, “E=sU”, we have “E” and “U”. “E” = 31, so “S” is in column 3. There’s only one opening there, giving S=53. Going back to equation 3, C=52.

. 12345
. -----
2|OTM.. + F

Attacking the square, if we look at column 3, we have “LMRQS”, which can be put into ascending order as “LMQRS”. Let’s change the current number assignments of 12345 to 12435. This doesn’t change the plaintext out for the crypts.

. 12345
. -----
2|OT.M. + F

Looking in columns, we have “BC” at the bottom of column 2, and “D..I” in column 3. Assuming that the key is “HO.EYPT”, and that “A” is not in the key, then “ABCDFGIKLMQRSUVWXZ” comes out when we fill in the blanks with the obvious choices. Notice also that in column 4, there’s no gap between “M” and “Q”, meaning that “N” has to be in the key.

. 12345
. -----

The keyword is “HONEYPOT”, the route is “on by columns”, and the messages are:



It took me several hours to figure out how to approach the solver in Python. What I finally settled on was a pair of lists, incorporating the message periods, alternating with letter+0, letter+1.

msg1 = [['F0', 'F1', 'S0', 'S1', 'H0', 'P0', 'P1', 'G0', 'G1', 'T0'],
['H1', 'P0', 'P1', 'U0', 'U1', 'T1', 'H0', 'H1', 'T0', 'T1']]

This represents the first 10 letters of message 1, with the row assignments in the first element, and the column assignments in the second element.

msg2 = [['F0', 'F1', 'S0', 'S1', 'H0', 'H1', 'O0', 'G0', 'G1', 'M0', 'M1', 'M0', 'M1', 'O0'],
['O1', 'P0', 'P1', 'U0', 'U1', 'O0', 'O1', 'O1', 'T0', 'T1', 'Q0', 'Q0', 'P0', 'P1']]

The row and column equations then come from equating msg1[0] with msg2[0], and msg1[1] with msg2[1].

['F0', 'F1', 'S0', 'S1', 'H0', 'P0', 'P1', 'G0', 'G1', 'T0']
['F0', 'F1', 'S0', 'S1', 'H0', 'H1', 'O0', 'G0', 'G1', 'M0']

['H1', 'P0', 'P1', 'U0', 'U1', 'T1', 'H0', 'H1', 'T0', 'T1']
['O1', 'P0', 'P1', 'U0', 'U1', 'O0', 'O1', 'O1', 'T0', 'T1']

The equations start out kind of disconnected, in that the program needs more than one pass through the assignments for each of the letter components.

P0, H1
P1, O0, T1
T0, M0
H1, O1, H0

To fix this, I run through the equations again, and if any two elements contain a shared letter component (i.e. – lines 1 and 4 both have “H1”), combine them.

P0, H1, O1, H0
P1, O0, T1
T0, M0

The reason for using the row = 0, column = 1 notation here, rather than the uppercase, lowercase convention described above, is that it’s easier to expand the tool to handle a 6×6 square (A1B2C3D4E5F6G7H8I9J0KLMNOPQRSTUVWXYZ) this way (because there’s no “lowercase” for a “1”).

I then number the equations 1 through n as described above, where “n” is the total number of lines I end up with. Depending on the crypt and the length of shared letters in the plaintext, “n” can be anywhere from 3 to 10. I use this numbering for 1-5 to create the tentative Polybius square, and go into a solving loop on the crypt text.

The tool command line commands are:
E/Q/X : Print out the solution in ACA format and quit.
H/? : Print the Help.
Key=text : Accept a keyword for printout in ACA format.
Table=nnnn : Assign new row and column numbering.
ch=nn : Assign a letter by row and column.

Key = Honeypot

The solver assist tool took maybe 6-7 hours to type up, debug and test. (In comparison, this blog entry took 3 hours.) The crypt was comparatively easy, but when I first started working on it, the plaintexts out from the equations were so spotty that I’d thought my program was corrupting something somewhere. But, I was able to slowly work my way through it, and it fell within 20 minutes, and that included having to hand-solve the route the keyed alphabet was written into the square. In the end though, I had both messages, the keyword, and the Route Transposition route for the square.

This gives me solve #89, leaving what should be a simple NULL (I hate NULLs), and a modification on the Grille cipher. With 12 more weeks to the deadline. I’m not optimistic…