Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- How to use one-time pads for secret communications
- --------------------------------------------------
- There is only one cipher system that cannot be cracked by the FBI or NSA - or by
- anyone else for that matter. That system is the one-time pad.
- A message encrypted using a one-time pad cannot be broken because the encryption
- key is a random number and because the key is used only once.
- A proven system. Intelligence agencies routinely use many different kinds of
- encryption systems - ranging from mechanical devices to invisible inks to
- computer software - but for mission critical messages that must be 100% secure
- they always use a one-time pad.
- At the height of the cold war during the fifties and sixties, Soviet spies in
- the USA used one-time pads to communicate with their controllers, usually
- located inside Russian embassies and consulates. Not a single message was
- cracked by the FBI or NSA. And none of those messages ever will be cracked.
- Used by the best. The one-time pad system is still being used today by
- intelligence agencies like Britain's MI.6, Germany's BND, France's DGSE,
- Russia's MBRF, and China's Cheng Pao K'o.
- One-time pads are also being used by resistance groups like Northern Ireland's
- IRA, France's Action Direct, Uruguay's Tupamaros, Algeria's GIA, Lebanon's
- Hezbollah, Peru's Shining Path, and Argentina's Monteneros.
- Inside this article. This article provides practical information that you can
- use to set up your own one-time pad encryption system. The article describes
- subtle refinements that you won't find in other books or articles. Our
- information comes direct from people with hands-on experience. Our two sources
- are an ex-MI.6 intelligence officer and a former member of Peru's Shining Path
- guerrillas. (Return to our home page and click on About Us for more on this.)
- After studying this article you will have all the knowledge you need to set up a
- 100% secure system of communication that cannot be cracked by the FBI, BATF,
- DEA, NSA, or any other organization.
- If you're playing by Big Boys' Rules, the one-time pad will keep you out of the
- internment camps.
- BACKGROUND - Cryptography as a science was originally developed by the Arabs.
- The year 1412 saw the publication of Subh al-a 'sha, a 14-volume encyclopedia
- written by Shihab al-Din al-Qalqashandi. The text described transposition and
- substitution ciphers. The Arabs were light-years ahead of the Europeans because
- their mathematics were more advanced - and cryptography relies heavily on math.
- While the Europeans were still struggling with Roman Numerals, the Arabs had
- already discovered the principle of zero.
- The word cipher is derived from the Arab word al cifr, literally meaning nothing
- or zero. The one-time pad system itself was perfected in 1917 during the first
- world war. Random keys were written on sheets of paper that were glued together
- to form a pad. Each key was used only once - hence the name, one-time pad.
- Step 1: Create the key...
- The core of the one-time pad system is the random key. A key is a block of
- numbers that is used to transform your original message (the plaintext) into a
- coded message (the ciphertext). Before you can begin to work with a one-time pad
- system, you need to create a random key. Before you can create a random key, you
- need a method for converting alphabet characters into numbers.
- The chart below illustrates a workable system that is simple and easily
- remembered.
- BACKGROUND - Government agencies use code-books containing often-used words and
- phrases that are represented by numbers. For example, rather than encrypting a
- phrase like safe house 4 to 0916 2698 1402 2004 1301, the coding clerk might
- simply use 0219.
- Spies and agents, on the other hand, cannot afford to carry incriminating
- evidence like bulky code-books, so they use instead the simplified conversion
- method shown below and spell out every word in full.
- 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
- 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
- Now you're ready to create a key. First, write down a series of random alphabet
- characters, such as HLMSEZRBHPSJOTDW.
- To make the key easier to work with, break it into blocks of two characters
- each, thus HL MS EZ RB HP SJ OT DW
- Now use the conversion table shown above to convert the alphabet characters into
- numbers. For example H=08 and L=12, so the first block HL becomes 0812.
- The result is 0812 1319 0526 1802 0816 1910 1520 0423.
- You've just created your first one-time pad. This is also called the key.
- (Normally you would create a much longer key than this, enabling you to send a
- number of messages before the key is used up.) As you use the blocks of numbers
- to encrypt messages, you would cross out each block you've used. This will
- ensure that you use a block only once. (We'll simulate crossing out a block by
- marking squares under it.)
- 0812 1319 0526 1802 0816 1910 1520 0423
- ####
- You would normally create two copies of the key and provide one copy to your
- intended recipient.
- Use the character X to represent a period in your plaintext.
- Step 2: Format your message...
- Suppose that the message you want to send is MY SECRET.
- You would next format your message into blocks of two characters each, yielding
- MY SE CR ET.
- Next, use the conversion chart above to convert the alphabet characters into
- numbers. In the example we're using M=13 and Y=25, so the first block would be
- 1325.
- The entire string becomes 1325 1905 0318 0520. You can now see how using blocks
- makes the text increasingly difficult for anyone to crack, even at this stage.
- Guidelines...
- Rule 1 - Numbers. Spell out all numbers in full in your plaintext. For example,
- 365 becomes THREE SIX FIVE.
- Rule 2 - Negatives. Always add emphasis to the word NOT in your plaintext. For
- example, you would write AGENT ALPHA NOT RPT NOT AVAILABLE FOR MEETING TUESDAY,
- where RPT stands for REPEAT.
- Rule 3 - Punctuation. Use an X for each period in your plaintext. For example,
- MESSAGE RECEIVEDX SEND MORE INFOX. All other punctuation must be written out in
- full. For example, COMMA.
- Rule 4 - Termination. End your plaintext with XX. If necessary, add dummy
- characters after XX in order to pad out the message to frustrate cryptanalysis
- and to conclude on a doublet (ensuring the numeric string ends with four
- digits).
- Use a pointer at the beginning of your message to specify the key so your
- recipient can decrypt the text.
- Step 3: Encrypt your message...
- We need some way to indicate to our recipient where the key begins, otherwise
- he/she won't be able to decrypt.
- Remember in our earlier example, we created a key and stroked off (squares) the
- blocks we'd already used. Here's what our key looked like.
- 0812 1319 0526 1802 0816 1910 1520 0423
- ####
- The starting position in the key is at block 1319. So we'll place the string
- 1319 at the beginning of our message so the recipient will know how to decrypt.
- The plaintext message of 1325 1905 0318 0520 becomes 1319 1325 1905 0318 0529
- because we place the pointer 1319 at the beginning of the string.
- We're now ready to encrypt. First we write out the plaintext. Then directly
- below it we write out the key. Then we add the key to the plaintext using
- Fibonicci addition. This means we do no carrying. For example, 9 + 2 would yield
- 1 not 11. And 7 plus 6 would yield 3 not 13. Here's how the spy's working sheet
- would look.
- Plaintext 1319 1325 1905 0318 0520
- Key -- 0526 1802 0816 1910
- Ciphertext 1319 1841 2707 0124 1430
- The encrypted message 1319 1841 2707 0124 1430 is ready to be sent to our
- recipient. And we can sleep peacefully knowing that it cannot be cracked by
- anyone except the recipient.
- To decrypt the message, the recipient simply reverses the calculations.
- Decrypting the message...
- To decrypt a message, we simply reverse the calculations. We subtract the key
- from the ciphertext using Fibonicci subtraction. This means we allow no negative
- numbers. We add 10 if required. For example, 2 - 9 would yield 3 (because we add
- 10 so that we're able to subtract 9 from 12).
- The first block in the ciphertext tells our recipient where to start in the key.
- Here's what the recipient's working sheet looks like.
- Ciphertext 1319 1841 2707 0124 1430
- Key 1319 0526 1802 0816 1910
- Plaintext -- 1325 1905 0318 0520
- Here's how we subtract 0526 from 1841.
- The first column is 1 - 0 = 1.
- The second column is 8 - 5 = 3.
- The third column is 4 - 2 = 2.
- The fourth column is 1 - 6 = 5 (because 11 - 6 = 5).
- Using the conversion chart described earlier, the recipient converts the string
- of numbers back into alphabet characters. In this example, 13=M and 25=Y, so the
- first block 1325 converts to MY. The string 1325 1905 0318 0520 becomes MY SE CR
- ET.
- The recipient reformats it to become MY SECRET.
- About security...
- Provided that an eavesdropper cannot get access to either the sender's or
- receiver's key, the one-time pad method is 100% secure. No FBI cryptanalyst will
- ever crack it. No Cray supercomputer running the NSA's cracker software will
- ever break it. Period.
- But you need to be prudent about security.
- Key security. Good security means you must conceal your key in a location where
- you'll know if it's been tampered with. Usually this means carrying it on your
- person at all times.
- Location security. Good security means choosing private locations to encrypt
- and decrypt your messages. Remember, it's easy for FBI agents or local police to
- install a pinhole video camera above your desk. When choosing a location, be
- creative, be unpredictable, and be quick.
- SURVIVAL TIP - At the first sign of surveillance you must stop working at your
- desk unless you're absolutely sure there's no way they can gain access to
- install the video surveillance equipment. In a pinch you can work under your
- desk until you implement off-site locations.
- Disposal security. Good security means destroying your working materials after
- each encryption or decryption. Don't leave anything around for the authorities
- to work with. This usually means shredding and burning - or ingestion. (Yes, eat
- the evidence. It saved Kim Philby's bacon early in his career.)
- Random means just that. The security of your one-time pad system depends on the
- randomness of the key. Don't use a computer to generate your keys. Do it by hand
- - and be sure to introduce a second element of randomness into your method by
- throwing dice or flipping a coin every now and then while you're creating your
- keys.
- One-time means just that. Don't use a key more than once. Ever. Even if just a
- few blocks overlap in two different messages, the NSA cracker software will
- shift and compare the ciphertext messages until the statistical frequency of
- characters matches the expected statistics for English language text. Giving the
- NSA an opening like this is tantamount to setting the fox loose in the
- hen-house.
- The perfect system. When used correctly, the one-time pad system provides
- perfect security for your secret messages. The weakest link is the human
- element.
- The first four-digit group is a pointer to the starting place in the one-time
- pad.
- How to test your skills...
- Here is a piece of ciphertext and a one-time pad you can use to verify your new
- skills.
- The one-time pad is 0916 0305 2521 2113 0119 0605 1413 2024 0806 0518 1306 0602
- 1710 2022 0410 0804 2301 2116 1512.
- The ciphertext is 0119 2110 3521 2739 2026 0113 1414 1527 2231.
- Remember that the first four-digit group in the ciphertext is a pointer
- indicating where to begin in the one-time pad.
- 2110 3521 2739 2026 0113 1414 1527 2231.
- 0605 1413 2024 0806 0518 1306 0602 1710 2022 0410 0804 2301 2116 1512.
- ---------------------------------------
- Copyright ©1998 Lee Adams. All rights reserved.
- Ascii conversion by: MRF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement