In addition to providing a secure cipher, and retaining any keys securely, a cipher machine should not leak out, through electromagnetic radiation, information about the key it is using or the plaintext message it is encoding or obtaining by decryption.
Can anything be done in the extreme case when this is absolutely not possible, and one knows one's adversary can see everything you type, and everything that appears on your computer screen?
This system, too complicated, I fear, for practical use, and not actually that highly secure when an eavesdropper is present (the amount of time that one spends looking at a particular screen is important side information) I at least think might be suited to the purposes of a spy novelist who wants to write an exciting story involving a struggle to decode a message.
Let us say that the individual trying to encode a message uses a computer program which, using a key and a fancy algorithm, generates random numbers then used to produce screens like these:
0 YEJTLUNSWRHPFKCQDAMOXBVGIZ 1 KGYQULXIAHZOCBJSTDNFWERVPM 2 ZGUXMLHQPOBYAIFDNJETRSCVKW 3 AVNUYLPSGXORIQFCBZKWTJDHEM 4 PJGAWRUCBLZQKYNSETIDMVXFOH 5 QRTNXSKLWUGBJHEZYOFMVCAPDI 6 ISJQBPAXGTYRWOLNHCMKUFZEDV 7 ZHJMRQCNKTWLXPYEOUBDAVGIFS 8 UNYQKLVAOPFTISRJMEXCHWGBDZ 9 LRCUOWIVGTEYASFPDXBJMQNZKH 7 428 32 901 2654 312 5 4033 171 22
and screens like these which alternate with them:
0123456789 ---------- 0 9498261073 1 5032717568 2 3187503914 3 4270134132 4 6915325341 5 1766098250 6 7301650687 7 8523972825 8 0649849409 9 2854486796To make use of these screens, our spy or diplomat or whatever has memorized a secret number: 563. Also, the acronym PCB, standing for Plaintext/Cipher/Both (instead of polychlorinated biphenyl) is part of the system.
The first step in enciphering a message letter is to look for the leftmost 3, 5, or 6 (the three digits of one's current secret number, of course) in a column within the two rows of digits under the set of alphabets. If none is found, or if both digits in the first column with one are from that set, the screen is skipped. Also, if a blank rather than a digit shares the column with our first digit from the set, we skip the screen.
Here, we find a 3 with a 7 above it in the first column. The two digits after the 3 are 12. (If the two digits after the number found were the same, we would again skip the screen.)
Since 3 is the third digit of our secret number, "Both" applies: which of the three digits of the secret number is the one found alone in the two rows of digits determines whether a Caesar shift of 1 is applied mentally to the plaintext letter, the cipher letter, or both letters.
Our plaintext letter is T. We bump it ahead in the alphabet (Both includes plaintext) to U, and look for U in alphabet 1.
X is found before it - we alternate from left to right as we go through our message (as part of the 'system' and not the 'key', this sort of thing would provide no security, but other agents could use a different rule) - in alphabet 2. It's changed to Y, since "Both" includes ciphertext.
Meanwhile, after the 7, the next three digits are 428. These are used to derive the three-digit secret number used for enciphering the next letter in the message.
On the next screen, we put the digits 428 in at the side, and our secret number 563 is the key, used at the top. So our new secret number is 239. We only look for a new secret number if we had not skipped the immediately preceding screen with rows of letters.
Table of Contents