Thursday, October 10, 2013

OTP Practical Encryption Exercise


DanMorgan76 and Mosby had an excellent post up recently regarding One Time Pad encryption.  DM76-OTP

I wanted to add to that discussion by presenting another OTP method and a practical exercise for everyone to complete.....consider it a challenge. Dan explained the use of an alphabetic OTP (similar to a Vigenere square). I would like to present another method to consider in case you are struggling with the concept...

In this method, you first make a key of sufficient length for your messages (receiving party needs to have a copy of the same key) using a true random number generator, or some ten-sided dice. Next we are going to convert the text of our message into numbers. The common way to achieve this is with the use of a checkerboard template. There are many to choose from if you don't want to create your own....and I should point out that the strength of our encryption does not rely upon the use of one checkerboard over another, so don't feel squeamish about using an established one. Today we are going to use the CT-46 checkerboard. (Other charts can be found HERE)

A   E   I   N   O  R
1   2   3   4   5   6

B   C   D   F   G   H   J   K   L   M
70  71 72  73 74 75  76 77  78 79

P   Q  S   T   U   V   W  X   Y   Z
80 81 82 83  84 85 86  87 88 89

sp   .    ,    :   ?    /    (    )    "   code
90 91 92  93 94 95  96 97  98  99


0    1   2   3   4   5   6   7   8   9 
00  01 02 03 04 05 06 07 08 09



You would write out your message (plaintext), then using the CT-46, convert the letters, spaces, etc into numbers (90 is used for spaces and 99 will always proceed any prearranged brevity codes). For example:

My message is "need more supplies". Using the chart, I convert it to:

4227290795629082848080783282

I then break it into 5 digit groups (for manageability),

42272 90795 62908 28480 80783 28200

I add zeros to round out my five digit group if needed. I would now write my key underneath (remember that the first five digit block is only used to identify the proper key/sheet to be used and is not used for coding) my converted message and subtract (without borrowing)...

           42272 90795 62908 28480 80783 28200      (unencrypted message)  
 84722 12345 54321 67890 09876 42791 03759      (one time key)
           30937 46474 05118 29614 48092 25551      (resulting cyphertext)

Your message at this point, having been successfully encrypted, is ready for transmittal via whatever media you find appropriate.

Once the receiving party is in possession of the encrypted message, they would:

1) Write it out....

30937 46474 05118 29614 48092 25551

2) Write their copy of the one time key (OTP) underneath...

30937 46474 05118 29614 48092 25551
12345 54321 67890 09876 42791 03759

3) Add to decrypt (no carrying)...

           30937 46474 05118 29614 48092 25551    (received cyphertext)
 84722 12345 54321 67890 09876 42791 03759    (one time key)
           42272 90795 62908 28480 80783 28200    (resulting decrypted message)

4) Use the agreed upon CT-46 chart to transfer back to letters...

4=N, 2=E, 2=E, 72=D, etc....

"need more supplies"


That is it in it's most basic form. Now for an exercise.....

Here is your encoded message:

63298 08898 54185 74545 28036 90438 94601 15438 01595 61992 14806 35390 75859 32537 54814 64357 58071 78754 84143 24420 53207

As you can see, it consists of 21 five digit groups, which should be written out on your paper on one line, if possible.


Here is your OTP/Key:

65098 20564 92039 47602 18383 11047 66384 06748 93947 28596 23489 63486 58618 68943 68656 46023 98650 83612 07538 09865 83497 69803 24730 96913 75348 (don't forget, the first block is not used to decrypt)

Once you have decrypted the message, feel free to comment with the author's name. (I kept it pretty straight forward; no unnecessary punctuation or end of message indicator such as BTAR or NOFO. You should develop your own SOP's regarding such things.)


The time to get these skills solidified is now folks......while we have the luxury of having internet and the free time to read blogs such as this. Trying to learn this stuff when the world has gone sideways could be a nonstarter.





6 comments:

  1. The smallest force in the quickest time at the farthest place. Thanks beats watching stoopidvision

    ReplyDelete
  2. See DavesEncryptionProgram.blogspot.com

    ReplyDelete
  3. Looks interesting. Unfortunately, it appears to be a Windows program, and I don't use Windows, nor can I recommend Windows for anything you may consider important.

    ReplyDelete
    Replies
    1. I get what you are saying.

      Buy and old laptop on Craigslist and NEVER hook it up to the internet. Run your encryption programs on it.

      I have one in storage for just such a thing.

      Delete