               ?++++++++++++++++++++++++++++++++++++++++++++++++++++++?
              ]|[            [-=- SOLDIERX.COM Presents -=-]         ]|[
+++++++++++++++?+++___________________________________________________+++?+++++++++++++++
 \\////////////////A Guide to Vernam OTP Encryption Without A Computer\\\\\\\\\\\\\\\\//
  \\\\\\\\\\\\\\\\\___________________________________________________/////////////////
   \\::::::::::::::::::::::::::::::::::::: by :::::::::::::::::::::::::::::::::::::://
    \\xxxxxxxxxxxxxxXXxxxxxxxxx?-=-][-  Durandal  -][-=-?xxxxxxxxxxxxxxXxxxxxxxxxxx//
     \\::::::::::::::::::::::::::::::::::: of :::::::::::::::::::::::::::::::::::://
      \\                               SOLDIERX.COM                              //
       \\                                SEP 2008                               //
        \\               NOBODY CAN STOP INFORMATION INSEMINATION              //
         ?=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=?
         **********************************************************************
         |  The author hereby grants permission to reproduce, redistribute,   |
         |  or include this file in your file section, electronic or print    |
         |  newletter, or any other form of transmission that you choose, as  |
         |  long as it is kept intact and whole, with no ommissions, delet-   |
         |  ions, or changes.  (?)2008 SOLDIERX.COM - http://www.soldierx.com |
         **********************************************************************

	While there is a wealth of knowledge pertaining to the application of encryption and
steganographic techniques in the realm of computers, very little has been said about secure 
encryption techniques that can be implemented on paper.  The two main arguments that come to 
mind are "why would you ever want to encrypt something on pencil and paper?" and "how can 
this possibly be secure if you're performing the calculations in your head?"  While the 
latter's explanation can be found with a simple google search, the former question requires 
a bit more imagination.  One situation where such encryption would be warranted is in the 
passing of messages to and from individuals who have a high probability of having their mail
monitored and have no computer access (aka prison and certain humanitarian missions).  
Another reason to use these pads is that while an almost infinite number of forensics tools 
exist to recover data off hard drives, the industry has yet to come up with a way to recover
a burnt/swallowed page of paper.

	Secure communication using this cipher requires a little forethought.  Obviously 
both parties need to have knowledge of the key used in its creation, and the key should be 
destroyed promptly after use to prevent reuse or capture.  In the case of preissued keys
(the preferred method), strict chain of custody must be maintained to guarantee a key's 
sanctity.  In the event key pads are not accessible, a key can be made using a mutually known 
secret (like a bible verse or poem).  It should be stressed that using a passage as a key 
should only be used if absolutely necessary, as it could conceivably create recognizable 
patterns (besides being an obvious candidate for a cryptanalyst to try).  A simple way to 
create sufficiently random preshared keys is to use the pieces from a Scrabble game.

	Before you can begin to encode a message using this algorithm, you must first 
perform Russian Conjugation on the message (and the key if it's a passage).  This is simply 
the process of capitalizing letters and removing all headers, punctuation, spacing, and any 
other unnecessary information that could create a recognizable patterns.  The rule of thumb 
is to not transmit any more information than absolutely necessary, and keep the message as 
short as possible.

	If our message is:

			Party at Bob's House Tonight!!!!!

	and our key is:

			ASOIE NTSLE ITHGS GKLSA TLKGH SGIST

	Then its corresponding conjugated form would be:

			PARTYATBOBSHOUSETONIGHT

	Now we perform a few formatting operations to both minimize errors in encoding and 
conceal the size of the message.  We start by adding a space every five characters 
(like the preshared key above) and pad the difference in size between the message and the 
key with predetermined garbage characters.  Make sure that the key is at the very least the 
same number of characters as the message.  If the message is ever larger than the key, break 
it up into smaller parts and use a different key for each part.

	In the end our message will look like:

			PARTY ATBOB SHOUS ETONI GHTSX SXSXS

	And our key will look like:

			ASOIE NTSLE ITHGS GKLSA TLKGH SGIST

	Now for the fun part: the actual algorithm is a mod 26.  The "correct" way to do 
this is to give each letter of the alphabet a value with A being 1 and Z being 26, adding 
the value of the each letter of the message to its corresponding character in the key, then 
subtracting 26 in the event that the sum is 26 or higher (basically dividy by 26 and keep 
the remainder).  While this is the textbook way to perform the cipher, in practice I've 
found a couple easier ways to obtain the same ciphertext.  The easiest of these is called 
a Vigenere Square.  To make this, we make a grid that is 26 by 26 squares.  We put each 
letter of the alphabet both above the grid and to the left of it, then start filling the 
grid in by putting a "B" in the topleft grid square.  We then proceed to write in each 
successive letter of the alphabet in every direction until we get a table that looks like 
this:

	     A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
	   +----------------------------------------------------
	 A | B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
	 B | C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
	 C | D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
	 D | E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
	 E | F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
	 F | G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
	 G | H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
	 H | I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
	 I | J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
	 J | K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
	 K | L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
	 L | M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
	 M | N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
	 N | O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
	 O | P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
	 P | Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
	 Q | R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
	 R | S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
	 S | T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
	 T | U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
	 U | V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
	 V | W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
	 W | X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
	 X | Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
	 Y | Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
	 Z | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Now we just find the message character along one side, its corresponding key character 
along the other, and find where they meet on the grid.  Doing this obtains the following 
ciphertext:

		QTGCD ONUAG BBWBL LEAGJ ATEZF LEBQM

To decrypt the message, we simply perform the operation in reverse.  Find the key character 
along the side of the table, then find the cipher character in the table, and look straight 
up to see what letter creates that cipher value.  Even with the Russian Conjugation in 
place, it is possible to read and understand the message.


	Vernam OTP isn't the only One-Time Pad around, but it's by far the simplest to 
implement when needed.  It does have its limitations (no numbers), but this can be remedied 
by spelling numbers out or having a system of CEOI codes in place to represent them.  Use 
your imagination and make sure everyone using the pads is in agreement with whatever codes 
you decide to implement.  The most important considerations are that keys should be as 
random as possible, they must be guarded by responsible parties at all times, and they must 
be destroyed immediately after use.  If you haven't picked up on it by now, each pad should 
have an identifying mark on it so the recipient of the encoded message knows which pad to 
use.  This shouldn't need to be said, but we live in a world where coffee cups have to say 
"CAUTION HOT" on them.

	Hopefully, nobody reading this tutorial will ever be in a situation where they are 
forced to use it, but that doesn't mean you shouldn't prepare for the worst while hoping for 
the best.  If used properly, these One-Time Pads are limited only by the randomness of your 
key creation method.  If you should require a higher level of security, you can use the 
table above to create a false key after the message has been encoded.  This false key should 
allow the ciphertext to be decrypted into a less incriminating message containing false 
information.  To do this, figure out the message for the false key, then use the steps for 
decryption using the ciphertext and the false message.  The resulting characters will make 
up the key necessary to obtain that message.  Doing this provides the highest level of 
security, while at the same time proving the absolute deniability afforded by the algorithm.
     _____________________________________________________________________
     ?=------------------------------]-?-[------------------------------=?
      \\                 THIS FILE WAS A SOLDIERX RELEASE              //
       \\                    http://www.soldierx.com                  //
        \\          NOBODY CAN STOP INFORMATION INSEMINATION         //
         ?=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++=?