Lester Hill’s “The checking of the accuracy …”, part 13

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 F_{101}

 

We wish to provide checks upon arbitrary sequences f_1, f_2, …, f_n of elements of any given finite algebraic field. Operations in the field F_{101} can be used to illustrate all the essential points arising in this connection.

Example 1: Check of Type A upon a sequence f_1, f_2, …, f_{10}. Suppose that we wish, in a certain message, to transmit the numerical sequence

38460000600800000299.
The origin and significance of this sequence in the following form, in which it appears as a sequence of ten elements of F_{101}:

\begin{array}{cccccccccc}  38  & 46  & 00  & 00 & 60  & 08  & 00 & 00  & 02  & 99\\  f_1 & f_2 & f_3 & f_4 & f_5 & f_6 & f_7 & f_8 & f_9 & f_{10}\\  \end{array}
A five-element check (q=5) 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 f_i, 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:

13\quad 39\quad 16 \quad 48 \quad 43.
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:

13\quad 39\quad 16 \quad 48 \quad 43\\  83\quad 29\quad 15 \quad 60 \quad 38
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:

13\quad 39\quad 16 \quad 48 \quad 43\\  83\quad 29\quad 15 \quad 60 \quad 38\\  76\quad 2\quad 16 \quad 27 \quad 14

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:

\begin{array}{rrrrrl}  13 & 39 & 16  & 48  & 43  & \\  83 & 29 & 15  & 60  & 38  & \\  76 & 2 & 16  & 27  & 14  & \\  99 & 51 & 63 & 60 & 86  & \\  84 & 94 & 9 & 75 & 19  & \\ \hline  454 & 314 & 218 & 369 & 299   & sum\ in\ ZZ\\  50 & 11 & 16 & 66 & 97 & sum\ in\ F_{101}\\  \end{array}
The five-element check is therefore:

c_1 = 50, c_2 = 11, c_3 = 16, c_4 = 66, c_5 = 97.
We transmit telegraphically the sequence of fifteen elements of F_{101}:

38 \quad  46\quad   00\quad   00 \quad  60\quad   08  \quad   00 \quad  00\quad   02\quad   99\quad   50  \quad   11\quad   16 \quad  66 \quad  97.
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:

c_1 = \sum_{i=1}^{10} a_i f_i,\quad   c_2 = \sum_{i=1}^{10} a_i^2 f_i,\quad   \dots, c_5 = \sum_{i=1}^{10} a_i^5 f_i.
If only a one-element check had been desired, we should have taken c_1=50, and a one-column tabulation would have sufficed. If a two-element check had been desired, we should have taken c_1=50, c_2=11 and a two-column tabulation would have sufficed. Etc.

If the operand sequence f_i contains less than 10 elements, the procedure, to determine check of Type A, is obvious. A q-element check upon f_1, f_2, \dots, f_{n}, with n<10, is as stated:

c_j = \sum_{i=1}^{10} a_i^j f_i,\ \ \ \ \ \ \ j = 1, 2, \dots, q,
with q=1,2,3,4,5. The manner of its evaluation, by means of Table 4, is clear.

Example 2: Check of Type B upon a sequence f_1, f_2, … , f_{8}.

Suppose that we desire a five-element check upon the numerical sequence 6500000000001794 – that is, upon

\begin{array}{cccccccc}  65  & 00  & 00  & 00 & 00  & 00  & 17  & 94\\  f_1 & f_2 & f_3 & f_4 & f_5 & f_6 & f_7 & f_8 \\  \end{array}
We wish to evaluate c_j = \sum_{i=1}^{8} b_i^j f_i,\ \ \ \ \ \ \ (j = 1, 2, \dots, 5). The tabulation is as follows:

\begin{array}{rrrrrl}  94 & 80 & 38  & 13  & 39  & row\ 1,\ Table\ 4,\ read:\ 94\ in\ column\ 65,\ etc. \\  90 & 19 & 59  & 45  & 60  &row\ 7,\ read:\ 90\ in\ column\ 17,\ etc.  \\  94 & 94 & 94 & 94 & 94  & \\ \hline  278 & 193 & 191 & 152 & 193   & sum\ in\ ZZ\\  76 & 92 & 90 & 51 & 92 & sum\ in\ F_{101}\\  c_1 & c_2 & c_3 & c_4 & c_5 & \\  \end{array}

Example 3: Check of Type A upon the same operand sequence as in Example 2.

We wish to evaluate c_j = \sum_{i=1}^{8} a_i^j f_i,\ \ \ \ \ \ \ (j = 1, 2, \dots, 5). The tabulation is as follows:

\begin{array}{rrrrrl}  94 & 80 & 38  & 13  & 39  & \\  90 & 19 & 59  & 45  & 60  &  \\  97 & 41 & 9 & 34 & 5  &row\ 8,\ Table\ 4,\ read:\ 97\ in\ col.\ 94,\ etc.  \\ \hline  281 & 140 & 106 & 92 & 104   & sum\ in\ ZZ\\  79 & 39 & 5 & 92 & 3 & sum\ in\ F_{101}\\  c_1 & c_2 & c_3 & c_4 & c_5 & \\  \end{array}

Example 4: Check of Type A and B upon the operand sequence

\begin{array}{ccccccc}  00  & 65  & 00  & 00  & 00 & 17  & 94\\  f_1 & f_2 & f_3 & f_4 & f_5 & f_6 & f_7  \\  \end{array}
We wish to evaluate

c_j = \sum_{i=1}^{7} a_i^j f_i= \sum_{i=1}^{7} b_i^j f_i,\ \ \ \ \ \ \ (j = 1, 2, \dots, 5).
The tabulation is as follows:

\begin{array}{rrrrrl}  58 & 30 & 19  & 76  & 1  & row\ 2,\ Table\ 4,\ read:\ 58\ in\ col.\ 65,\ etc. \\  21 & 20 & 96  & 77  & 6  &row\ 6,\ read:\ 21\ in\ col.\ 17,\ etc.  \\  58 & 10 & 47 & 29 & 5  &row\ 7,\ read:\ 58\ in\ col.\ 94,\ etc.  \\ \hline  137 & 60 & 162 & 182 & 12   & sum\ in\ ZZ\\  36 & 60 & 61 & 81 & 12 & sum\ in\ F_{101}\\  c_1 & c_2 & c_3 & c_4 & c_5 & \\  \end{array}

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 q-check, q=1,2,3,4,5 (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.

One thought on “Lester Hill’s “The checking of the accuracy …”, part 13

  1. Pingback: Lester Hill’s “The checking of the accuracy …”, part 14 | Yet Another Mathblog

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s