Backstory: Lester Saunders Hill wrote unpublished notes, about 40 pages long, probably in the mid- to late 1920s. They were titled “The checking of the accuracy of transmittal of telegraphic communications by means of operations in finite algebraic fields”. In the 1960s this manuscript was given to David Kahn by Hill’s widow. The notes were typewritten, but mathematical symbols, tables, insertions, and some footnotes were often handwritten. I thank Chris Christensen, the National Cryptologic Museum, and NSA’s David Kahn Collection, for their help in obtaining these notes. Many thanks also to Rene Stein of the NSA Cryptologic Museum library and David Kahn for permission to publish this transcription. Comments by transcriber will look like this: [This is a comment. – wdj]. I used Sage (www.sagemath.org) to generate the tables in LaTeX.
Here is just the 14th section of his paper. I hope to post more later. (Part 13 is here.)
Illustration of checking in the field
We wish to provide checks upon arbitrary sequences ,
, …,
of elements of any given finite algebraic field. Operations in the field
can be used to illustrate all the essential points arising in this connection.
Example 1: Check of Type A upon a sequence ,
, …,
. Suppose that we wish, in a certain message, to transmit the numerical sequence
The origin and significance of this sequence in the following form, in which it appears as a sequence of ten elements of :
A five-element check () is obtained by the simple tabulation which follows. We use Table 4, noting that in each of the nine rows, the one-hundred columns are shown in four sections, there being twenty-five columns in each section.
For the first element, 38, in the operand sequence , place ruler under the proper section of row 1 of the Table. In row 1, read: 13 in column 38, 39 in column 13, 16 in column 39, 48 in column 16, 43 in column 48. Start a tabulation:
For the second element, 46, in the operand sequence, place ruler under the proper section of row 2 of the Table. In row 2, read: 83 in column 46, 29 in column 83, 15 in column 29, 60 in column 15, 38 in column 60. Continue the tabulation:
Since the third and fourth elements of the operand sequence are equal to zero, skip them entirely. For the fifth element, 60, read in row 5 of the Table: 76 in column 60, 2 in column 76, 16 in column 2, 27 in column 16, 14 in column 27. Continue the tabulation:
Proceed in this manner to the ninth element, 2, inclusive of the operand sequence. There being no tenth row in the Table, simply add the tenth element, 99, of the operand sequence in each vertical column of the tabulation. The full tabulation is:
The five-element check is therefore:
We transmit telegraphically the sequence of fifteen elements of :
A discussion of possible errors will be given in another section. we simply note here that the $c_j$’s, as determined in the above tabulation, are:
If only a one-element check had been desired, we should have taken , and a one-column tabulation would have sufficed. If a two-element check had been desired, we should have taken
,
and a two-column tabulation would have sufficed. Etc.
If the operand sequence contains less than
elements, the procedure, to determine check of Type A, is obvious. A
-element check upon
,
, \dots,
, with
, is as stated:
with . The manner of its evaluation, by means of Table 4, is clear.
Example 2: Check of Type B upon a sequence ,
, … ,
.
Suppose that we desire a five-element check upon the numerical sequence – that is, upon
We wish to evaluate . The tabulation is as follows:
Example 3: Check of Type A upon the same operand sequence as in Example 2.
We wish to evaluate . The tabulation is as follows:
Example 4: Check of Type A and B upon the operand sequence
We wish to evaluate
The tabulation is as follows:
Questions of rigor will be discussed in a subsequent section. It may be noted here, however, that our checks make very
nice discriminations. Thus, although the operand sequence in Examples 3 and 4 are closely similar, the checking sequences are widely different.
It will now be apparent to those who are acquainted with the problems of code communication that we are in a position to furnish powerful and economical checks on message sequences in any conceivable telegraphic system. We have only to partition messages into groups of not more than ten, or not more that eight, elements each — according to any
definite prearrangement — and to check each group with a -check,
(as may be arranged), of Type A or of Type B. If it is desired to work with longer groups, we have only to enlarge Table 4. The limitations introduced in this paper may be largely overcome, or removed, by suitable amplification of the Table employed.