Advertisement
Guest User

The One Time Pad

a guest
Jul 15th, 2013
11
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.04 KB | None | 0 0
  1.  
  2. How to use one-time pads for secret communications
  3. --------------------------------------------------
  4.  
  5.  
  6.  
  7. There is only one cipher system that cannot be cracked by the FBI or NSA - or by
  8. anyone else for that matter. That system is the one-time pad.
  9.  
  10. A message encrypted using a one-time pad cannot be broken because the encryption
  11. key is a random number and because the key is used only once.
  12.  
  13. A proven system. Intelligence agencies routinely use many different kinds of
  14. encryption systems - ranging from mechanical devices to invisible inks to
  15. computer software - but for mission critical messages that must be 100% secure
  16. they always use a one-time pad.
  17.  
  18. At the height of the cold war during the fifties and sixties, Soviet spies in
  19. the USA used one-time pads to communicate with their controllers, usually
  20. located inside Russian embassies and consulates. Not a single message was
  21. cracked by the FBI or NSA. And none of those messages ever will be cracked.
  22.  
  23. Used by the best. The one-time pad system is still being used today by
  24. intelligence agencies like Britain's MI.6, Germany's BND, France's DGSE,
  25. Russia's MBRF, and China's Cheng Pao K'o.
  26.  
  27. One-time pads are also being used by resistance groups like Northern Ireland's
  28. IRA, France's Action Direct, Uruguay's Tupamaros, Algeria's GIA, Lebanon's
  29. Hezbollah, Peru's Shining Path, and Argentina's Monteneros.
  30.  
  31. Inside this article. This article provides practical information that you can
  32. use to set up your own one-time pad encryption system. The article describes
  33. subtle refinements that you won't find in other books or articles. Our
  34. information comes direct from people with hands-on experience. Our two sources
  35. are an ex-MI.6 intelligence officer and a former member of Peru's Shining Path
  36. guerrillas. (Return to our home page and click on About Us for more on this.)
  37.  
  38. After studying this article you will have all the knowledge you need to set up a
  39. 100% secure system of communication that cannot be cracked by the FBI, BATF,
  40. DEA, NSA, or any other organization.
  41.  
  42. If you're playing by Big Boys' Rules, the one-time pad will keep you out of the
  43. internment camps.
  44.  
  45. BACKGROUND - Cryptography as a science was originally developed by the Arabs.
  46. The year 1412 saw the publication of Subh al-a 'sha, a 14-volume encyclopedia
  47. written by Shihab al-Din al-Qalqashandi. The text described transposition and
  48. substitution ciphers. The Arabs were light-years ahead of the Europeans because
  49. their mathematics were more advanced - and cryptography relies heavily on math.
  50. While the Europeans were still struggling with Roman Numerals, the Arabs had
  51. already discovered the principle of zero.
  52.  
  53. The word cipher is derived from the Arab word al cifr, literally meaning nothing
  54. or zero. The one-time pad system itself was perfected in 1917 during the first
  55. world war. Random keys were written on sheets of paper that were glued together
  56. to form a pad. Each key was used only once - hence the name, one-time pad.
  57.  
  58.  
  59.  
  60. Step 1: Create the key...
  61.  
  62. The core of the one-time pad system is the random key. A key is a block of
  63. numbers that is used to transform your original message (the plaintext) into a
  64. coded message (the ciphertext). Before you can begin to work with a one-time pad
  65. system, you need to create a random key. Before you can create a random key, you
  66. need a method for converting alphabet characters into numbers.
  67.  
  68. The chart below illustrates a workable system that is simple and easily
  69. remembered.
  70.  
  71. BACKGROUND - Government agencies use code-books containing often-used words and
  72. phrases that are represented by numbers. For example, rather than encrypting a
  73. phrase like safe house 4 to 0916 2698 1402 2004 1301, the coding clerk might
  74. simply use 0219.
  75.  
  76. Spies and agents, on the other hand, cannot afford to carry incriminating
  77. evidence like bulky code-books, so they use instead the simplified conversion
  78. method shown below and spell out every word in full.
  79.  
  80. 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
  81. 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
  82.  
  83. Now you're ready to create a key. First, write down a series of random alphabet
  84. characters, such as HLMSEZRBHPSJOTDW.
  85.  
  86. To make the key easier to work with, break it into blocks of two characters
  87. each, thus HL MS EZ RB HP SJ OT DW
  88.  
  89. Now use the conversion table shown above to convert the alphabet characters into
  90. numbers. For example H=08 and L=12, so the first block HL becomes 0812.
  91.  
  92. The result is 0812 1319 0526 1802 0816 1910 1520 0423.
  93.  
  94. You've just created your first one-time pad. This is also called the key.
  95. (Normally you would create a much longer key than this, enabling you to send a
  96. number of messages before the key is used up.) As you use the blocks of numbers
  97. to encrypt messages, you would cross out each block you've used. This will
  98. ensure that you use a block only once. (We'll simulate crossing out a block by
  99. marking squares under it.)
  100.  
  101. 0812 1319 0526 1802 0816 1910 1520 0423
  102. ####
  103.  
  104. You would normally create two copies of the key and provide one copy to your
  105. intended recipient.
  106.  
  107. Use the character X to represent a period in your plaintext.
  108.  
  109.  
  110.  
  111. Step 2: Format your message...
  112.  
  113. Suppose that the message you want to send is MY SECRET.
  114.  
  115. You would next format your message into blocks of two characters each, yielding
  116. MY SE CR ET.
  117.  
  118. Next, use the conversion chart above to convert the alphabet characters into
  119. numbers. In the example we're using M=13 and Y=25, so the first block would be
  120. 1325.
  121.  
  122. The entire string becomes 1325 1905 0318 0520. You can now see how using blocks
  123. makes the text increasingly difficult for anyone to crack, even at this stage.
  124.  
  125.  
  126. Guidelines...
  127.  
  128. Rule 1 - Numbers. Spell out all numbers in full in your plaintext. For example,
  129. 365 becomes THREE SIX FIVE.
  130.  
  131. Rule 2 - Negatives. Always add emphasis to the word NOT in your plaintext. For
  132. example, you would write AGENT ALPHA NOT RPT NOT AVAILABLE FOR MEETING TUESDAY,
  133. where RPT stands for REPEAT.
  134.  
  135. Rule 3 - Punctuation. Use an X for each period in your plaintext. For example,
  136. MESSAGE RECEIVEDX SEND MORE INFOX. All other punctuation must be written out in
  137. full. For example, COMMA.
  138.  
  139. Rule 4 - Termination. End your plaintext with XX. If necessary, add dummy
  140. characters after XX in order to pad out the message to frustrate cryptanalysis
  141. and to conclude on a doublet (ensuring the numeric string ends with four
  142. digits).
  143.  
  144. Use a pointer at the beginning of your message to specify the key so your
  145. recipient can decrypt the text.
  146.  
  147.  
  148.  
  149. Step 3: Encrypt your message...
  150.  
  151. We need some way to indicate to our recipient where the key begins, otherwise
  152. he/she won't be able to decrypt.
  153.  
  154. Remember in our earlier example, we created a key and stroked off (squares) the
  155. blocks we'd already used. Here's what our key looked like.
  156.  
  157. 0812 1319 0526 1802 0816 1910 1520 0423
  158. ####
  159.  
  160. The starting position in the key is at block 1319. So we'll place the string
  161. 1319 at the beginning of our message so the recipient will know how to decrypt.
  162. The plaintext message of 1325 1905 0318 0520 becomes 1319 1325 1905 0318 0529
  163. because we place the pointer 1319 at the beginning of the string.
  164.  
  165. We're now ready to encrypt. First we write out the plaintext. Then directly
  166. below it we write out the key. Then we add the key to the plaintext using
  167. Fibonicci addition. This means we do no carrying. For example, 9 + 2 would yield
  168. 1 not 11. And 7 plus 6 would yield 3 not 13. Here's how the spy's working sheet
  169. would look.
  170.  
  171. Plaintext 1319 1325 1905 0318 0520
  172. Key -- 0526 1802 0816 1910
  173. Ciphertext 1319 1841 2707 0124 1430
  174.  
  175. The encrypted message 1319 1841 2707 0124 1430 is ready to be sent to our
  176. recipient. And we can sleep peacefully knowing that it cannot be cracked by
  177. anyone except the recipient.
  178.  
  179. To decrypt the message, the recipient simply reverses the calculations.
  180.  
  181.  
  182. Decrypting the message...
  183.  
  184. To decrypt a message, we simply reverse the calculations. We subtract the key
  185. from the ciphertext using Fibonicci subtraction. This means we allow no negative
  186. numbers. We add 10 if required. For example, 2 - 9 would yield 3 (because we add
  187. 10 so that we're able to subtract 9 from 12).
  188.  
  189. The first block in the ciphertext tells our recipient where to start in the key.
  190.  
  191. Here's what the recipient's working sheet looks like.
  192.  
  193. Ciphertext 1319 1841 2707 0124 1430
  194. Key 1319 0526 1802 0816 1910
  195. Plaintext -- 1325 1905 0318 0520
  196.  
  197. Here's how we subtract 0526 from 1841.
  198.  
  199. The first column is 1 - 0 = 1.
  200. The second column is 8 - 5 = 3.
  201. The third column is 4 - 2 = 2.
  202. The fourth column is 1 - 6 = 5 (because 11 - 6 = 5).
  203.  
  204. Using the conversion chart described earlier, the recipient converts the string
  205. of numbers back into alphabet characters. In this example, 13=M and 25=Y, so the
  206. first block 1325 converts to MY. The string 1325 1905 0318 0520 becomes MY SE CR
  207. ET.
  208.  
  209. The recipient reformats it to become MY SECRET.
  210.  
  211.  
  212. About security...
  213.  
  214. Provided that an eavesdropper cannot get access to either the sender's or
  215. receiver's key, the one-time pad method is 100% secure. No FBI cryptanalyst will
  216. ever crack it. No Cray supercomputer running the NSA's cracker software will
  217. ever break it. Period.
  218.  
  219.  
  220. But you need to be prudent about security.
  221.  
  222. Key security. Good security means you must conceal your key in a location where
  223. you'll know if it's been tampered with. Usually this means carrying it on your
  224. person at all times.
  225.  
  226. Location security. Good security means choosing private locations to encrypt
  227. and decrypt your messages. Remember, it's easy for FBI agents or local police to
  228. install a pinhole video camera above your desk. When choosing a location, be
  229. creative, be unpredictable, and be quick.
  230.  
  231. SURVIVAL TIP - At the first sign of surveillance you must stop working at your
  232. desk unless you're absolutely sure there's no way they can gain access to
  233. install the video surveillance equipment. In a pinch you can work under your
  234. desk until you implement off-site locations.
  235.  
  236. Disposal security. Good security means destroying your working materials after
  237. each encryption or decryption. Don't leave anything around for the authorities
  238. to work with. This usually means shredding and burning - or ingestion. (Yes, eat
  239. the evidence. It saved Kim Philby's bacon early in his career.)
  240.  
  241. Random means just that. The security of your one-time pad system depends on the
  242. randomness of the key. Don't use a computer to generate your keys. Do it by hand
  243. - and be sure to introduce a second element of randomness into your method by
  244. throwing dice or flipping a coin every now and then while you're creating your
  245. keys.
  246.  
  247. One-time means just that. Don't use a key more than once. Ever. Even if just a
  248. few blocks overlap in two different messages, the NSA cracker software will
  249. shift and compare the ciphertext messages until the statistical frequency of
  250. characters matches the expected statistics for English language text. Giving the
  251. NSA an opening like this is tantamount to setting the fox loose in the
  252. hen-house.
  253.  
  254. The perfect system. When used correctly, the one-time pad system provides
  255. perfect security for your secret messages. The weakest link is the human
  256. element.
  257.  
  258. The first four-digit group is a pointer to the starting place in the one-time
  259. pad.
  260.  
  261.  
  262. How to test your skills...
  263.  
  264. Here is a piece of ciphertext and a one-time pad you can use to verify your new
  265. skills.
  266.  
  267. The one-time pad is 0916 0305 2521 2113 0119 0605 1413 2024 0806 0518 1306 0602
  268. 1710 2022 0410 0804 2301 2116 1512.
  269.  
  270. The ciphertext is 0119 2110 3521 2739 2026 0113 1414 1527 2231.
  271.  
  272. Remember that the first four-digit group in the ciphertext is a pointer
  273. indicating where to begin in the one-time pad.
  274.  
  275. 2110 3521 2739 2026 0113 1414 1527 2231.
  276. 0605 1413 2024 0806 0518 1306 0602 1710 2022 0410 0804 2301 2116 1512.
  277.  
  278. ---------------------------------------
  279.  
  280. Copyright ©1998 Lee Adams. All rights reserved.
  281. Ascii conversion by: MRF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement