Posted
by
timothy
on Friday November 23, 2012 @05:18PM
from the reopen-bletchley-park dept.

An anonymous reader writes "A dead pigeon discovered a few weeks ago in a UK chimney may be able to provide new answers to the secrets of World War II. Unfortunately, British cryptographers at the country's Government Communications Headquarters (GCHQ) have been unable to crack the code encrypting a message the bird was tasked with sending and say they are confident it cannot be decoded 'without access to the original cryptographic material.'"

Given that the original message looks supiciously like it was encoded with a one time pad, it's really not at all surprising that they can't crack it without the relevant pad. Which was probably destroyed a long time ago.

Exactly. One time pad encryption the most secure. Unless they can track down the encrypting agent, he's (she's) still alive, and lucid enough to speak, its not happening. Or they find a code book with that day's pad in it, in a long forgotten room or something.

Given that the original message looks supiciously like it was encoded with a one time pad, it's really not at all surprising that they can't crack it without the relevant pad. Which was probably destroyed a long time ago.

I'm curious: how do you tell by the looks of a cyphertext that it was encrypted with a one-time pad? Yeah, it's written in groups of five characters, and makes no (obvious) sense...but that is no clue as to the method used to encrypt the text. Breaking up words into equal groups is done (obviously) to obfuscate word boundaries, it's not a practice restricted to one-time pads.

In cryptography, the one-time pad (OTP) is a type of encryption which has been proven to be impossible to crack if used correctly. Each bit or character from the plaintext is encrypted by a modular addition with a bit or character from a secret random key (or pad) of the same length as the plaintext, resulting in a ciphertext. If the key is truly random, as large as or greater than the plaintext, never reused in whole or part, and kept secret, the ciphertext will be impossible to decrypt or break without knowing the key.

So unless you classify the key as a "clue" (rather than a cluebat) you need to rethink that.

It was the code used by the atomic spies. Alexander Fomin (nee Feklisov) was the agent in charge of the ring. Klaus Prigsheim a faculty member at KU was the host when he talked in IIRC 1960. Arthur Schlesinger Jr. was his debate counterpart. Fomin sounded a lot like Bela Lugosi.

Several point out that it is not a OneTime Pad if you reuse the pad. The pad was reused because of the workload, and the code was broken. Fomin said that Ethel Rosenberg was not involved.

Strictly speaking, Venona was the project to decrypt the intercepted messages, started once it was realized that the encryption keys were being reused. Nevertheless, MrNaz is adopting troll-like behavior in his snarky and cryptic post, and his post here, unlike yours, contributes nothing to the discussion.

True-Scotsman is saying that someone born in Scotland doesn't count as a Scotsman because he doesn't act correctly. That's a false/useless assertion that's factually wrong and asserted only to move the goalposts for the "correct" definition. A "one-time" pad used more than once isn't just a misused one-time pad, but is also a "two-time" (or more) pad, and, by definition, is no longer a one-time pad. That's not a no true Scotsman argument, but a "you defined it properly - no fair" argument.

If you tried to bake a cake with a recipe and/or knowledge of what ingredients go into a cake and how to put them together, but mis-measured the eggs/used high-protein flour and so ended up with a shitty cake I would cry no-true-Scotsman when someone said you weren't making a cake.

Well, that's a matter of semantics. If you implement a large-scale, properly-designed one-time pad system, but then a pair of lazy and/or ignorant code clerks re-uses individual OTP sheets for some of the traffic between them (contrary to orders and training, of course), then do we say "it's not a one-time pad system", or that "it's a misused one-time pad system"? Either statement might be arguably valid.

Or maybe all of your code clerks properly use each sheet once and then immediately destroy it, but the factory that produced the keying materials messed up and included duplicate sheets mixed into some of the books, resulting in compromise of the system. Which has actually happened, by the way [wikipedia.org]. You might say that it wasn't actually an OTP system, or you might say it was an OTP system in which implementation mistakes were made which compromised some of the traffic. Those mistakes may have been unintentional errors or deliberate acts by undercover agents to weaken the system, but the folks who designed and oversaw the system intended to deploy a proper OTP system and thought that they were doing just that.

Or maybe you create an OTP system, distribute good keying material without blunders like repeated pages, but then an undercover agent runs out of keying material, has no way to obtain more, and then must choose between stopping communication, communicating in plaintext, or re-using OTP sheets to get critical information through and hoping that the adversaries don't detect the situation. I lean towards calling this situation "not OTP", but it's still a matter of semantics.

It's like saying that long division performed with an error is not long division any more, and that therefore it's impossible to get wrong results with long division. Then furthermore defending such a position on the basis that "division" is right in the name and getting incorrect results means that you weren't dividing at all, but rather something else entirely.

Deviating of course weakens it. But in practice, this may be irrelevant.

Imagine you're a German code cracker, and your men intercept like 100 messages sent out by the British forces (by shooting those pigeons) that are known to be encrypted using one-time pads and using code words. Maybe two of them have used the same pad: you don't know which ones, nor that this is actually the case.

As one-time pads are known to be uncrackable, you're likely not even going to try.

Length isn't even relevant. Proper use of a OTP recommends simply copying the remaining pad past the end of the cleartext, or to a random length beyond it. This makes it impossible to determine the length of the cleartext. The cleartext just ends in a standard End of Message, which can only be identified by the recipient with the pad key. "We will attack at dawn. End of Message." could be transmitted as a two page block of ciphertext. It's not a waste since the pad cannot be reused in whole or in part anyway. That entire page of pad just gets torn out of the book and burned when the message is sent.

Good point! I mentioned elsewhere here that it's normal to pad out a message to a 5-letter boundary, but padding it out still further by copying the remainder of the sheet makes even more sense. The only drawback is that it places more burden on the communications channel, which may be a serious issue when a single radio operator needs to send all of the traffic for a number of agents and faces greater risk of capture by staying on the air longer (see Kahn's The Codebreakers for accounts of such overloaded

One time pads are not impossible to crack, provided you have some clues about detecting a successful decoding. A decoding that renders a perfectly structured sentence with proper spelling, and/or recognized jargon could be picked out by computer as a "highly probable content" from all the other gibberish decoding.

Your statement demonstrates a fundamental misunderstanding of the one-time pad. One-time pads are not like other forms of encryption, they are simply modular arithmetic with a set of random charact

A clue does not help you a bit. The only thing you can get out of a OTP is the maximum length of the message, but not the minimum or actual length,. Everything else is completely arbitrary and depends completely on the key. You can literally decode all possible messages with that maximum length out of that encrypted sequence with the right key. All Twitter posts ever written, all messages passed around in WWII, a whole bunch of Haiku's and what ever else you want you can get out of that sequence with the right key. That encoded sequence is essentially just random junk without the original key. The only clue that brings you to the original message is the original key used to decrypt it.

Your point can only be this: the set of messages that might reasonably have been sent can be guessed as the deciphered text. The actual encrypted data gives you zero information on that if the OTP was used properly.

While that is true, you will note that i said probable content. Yes there are any number of equally valid decodings. However few will make sense in the context in which they were sent.

The assertion that there are any number of possible decodings only works when you have zero knowledge of expected content, and as such its a tired and juvenile objection.

It's not that there are "any number of equally valid decodings", but there is every possible decoding. If the word "APPLE" is encypted with a one-time pad into "XYZZY", there are potential one-time pads that will decrypt that string into "APPLE", "IPHONE", "STEVE", "WINMO", "GOOGL", "ANDRD", "SBRIN", "LPAGE", "BILLG", etc.

How do you know which of those is the "valid decoding"? How does your knowledge of expected content help you?

With a properly used one time pad, ANY message (of the same length) is equally valid. Typically you salt the message with some nonsense or whitespaces too, so any message of length = the length of the encrypted message is possible.

So you can make up any message you want, gibberish or real words, and you have no idea if it's the real message or not. You cannot use frequency analysis, dictionary attacks, content hints, or anything else against a properly used one time pad.

You're thinking of simpler encryption algorithms that DON'T use completely random pads. Things like Enigma. If you know something of the content of the message that can help immensely in decrypting those messages, but again, prior knowledge, guesses or whatever have no effect on the security of a properly used OTP.

Wow, I don't witness that particular brand of cluelessness very often on slashdot.

With a one-time pad there *are* any number of possible decoding. The key is the same length as the clear text. This means that you have *literally* no way of knowing that you have successfully decoded it without knowing the clear text or the pad.

That's a codebook, not a one time pad. They are distinctly different. Code books are theoretically crackable given sufficient ciphertext and a model for the plaintext (e.g. English). In practice "sufficient" ciphertext is never going to happen. One time pads are uncrackable in theory. In practice mistakes can be made that make them not true one time pads and thus potentially crackable (but that require multiple messages using the same pad -- not the case here).

No, a proper one time pad is random and the results will also appear random. The only vulnerability is if the pad it was generated off of isn't truly random or if it's improperly used. If the pad was used more than once or used repeatedly over the message, then there might be hints to decode it. Otherwise, you can brute force it all you want, but you're just as likely to come up with an incorrect "decoded" message as the real one. Since each letter of each word is coded with its own key, guessing the word "Germany" doesn't help you figure out if the word after is "attacks" or "retreats".

One time pads are not impossible to crack, provided you have some clues about detecting a successful decoding

Not generally true (assuming a genuinely random one-time pad). In order to decrypt anything, and know you have arrived at the original plaintext, not some arbitrary plaintext, the plaintext needs more bits of redundancy than the length of the key; otherwise multiple possible keys will yield "probable content" when tried.

Because the key for a one-time pad is longer than the message itself, you're going to get every possible "probable content" as a candidate, because there's a one-time pad that will "decrypt

You might know that the message is 'The Commies have XXX tanks' where XXX is a number, but if the pad is correctly generated and used, the XXX can decode to any three digit number whatsoever, so that knowledge gives you no information at all.

But as stated elsewhere, messages are not random, so the laboratory exercise does not represent the real world.When you send a spy in to determine the number of tanks crossing a certain bridge, you don't consider an order for lamb chops and left hand threded eels to be a proper decoding.

Yes, but you don't understand the fundamental problem of your argument. With an OTP, the sentence "0 tanks crossed" is just as likely as the following:

And so on and so forth. You can only run a reasonability analysis, if any of those above was less reasonable than the others. So not only would you need to know that there is a spy and that the spy counted tanks (instead of, say, planes or flowerpots), you would also need to know the exact number he counted and that the spy has not counted wrong. You'd also need to know how he phrased the answer.

In short: You'd need to already know the decoded message to say which decoded message is correct. The reason is very simple: In a One-Time-Pad, the key and message are completely interchangeable. Given only the encrypted text, it is just as hard to find the key as it is to find the original message. This is the ideal property all encryption methods strive for.

You can discount gibberish and orders for lamb chops if you are quite confident that the message was, for example, English text, and that "lamb chops" was not a code phrase for something like "crates of ammunition". But you still can't distinguish between "FOURTEENTH TANK BRIGADE WILL ATTACK ON NOVEMBER TWELFTH" vs. "EIGTH INFANTRY BRIGADE RETREATING WITH HEAVY CASUALTIES". In any case, code words, code phrases, abbreviations, jargon and spelling errors can all be reasonably expected in legitimate military

It doesn't matter that the message isn't random, the *key* is random, and never reused. While the message (most likely) not something nonsensical, it could be *anything* that *does* make sense, as well. You can't narrow it down to something that makes sense or something that doesn't make sense. You can't narrow it down at all.

Given a ciphertext N characters long, there exists a one-time pad that will decrypt that ciphertext to ANY clear text message. So if you have an N-length bit of ciphertext (as it appears these chaps do) and you brute force it and decode an N-length string that 'looks' correct (e.g. "The fleet has launched") that's just great...the problem is that THAT clear text is equally likely to be the correct clear text as any other string of text that long, including all perfectly-structured sentences, with correct pronunciation, containing jargon...in all languages...that long. And if they are salting and/or stuffing the clear text, you don't even have the length as a clue.

It's humorous that you encourage me to use my head, when you are so completely wrong. Since you don't believe me, I can only invite you to read up on cryptography and one-time pads, until you understand exactly why and how you are wrong. Afterward, please attempt to educate others so that the world wastes less time arguing over solved problems.

The reason one-time-pads cannot be broken is fairly non-intuitive, but it's worth understanding. You should understand that it is beyond pointless to even attempt to brute-force a one-time-pad transmission, because you know before you even begin wasting CPU cycles that you WILL find EVERY N-length message that can exist, and you will have no reason to favor any of them. That's why you don't even try. You jump right to trying known/broken ciphers, frequency analysis, looking for possible misapplications of the one-time-pad technique, or something else, because brute-forcing one-time-pad transmissions mathematically cannot work. It's not that it doesn't work, or that it's too hard, but it mathematically is beyond being possible for it to work.

Now you're just making a fool of yourself. People already linked you to a wikipedia page that explains in detail why you're wrong, yet you stubbornly refuse to read it (or perhaps you're too daft to understand what it says?)

One-time pads are impossible to crack, in the sense that all messages are equally likely. Think about this for a moment. You can think of many plaintexts of that length. Each one could be the result of a different pad. Since those pads are equally likely, the plaintexts are also equally likely.

We do have the message length, and we also have some information in cleartext (e.g. the time it was sent and who sent it). That's it.

There are weaknesses in an OTP system, but they are typically due to poor key management.

You are right, except for one nit-picky detail: We only have an upper bound on the message length. It's fairly common practice to pad messages out to a five-letter boundary, so the actual message may be shorter than the captured ciphertext. We also don't know whether the sender used some letter to indicate spaces or just ran the words together, both of which are common and valid practices. Cryptosystems of the era often had no provisions for numbers or symbols, which would need to be spelled out in text. So

One Time Pads are indeed impossible to crack, if the pad is indeed used only one time, and is indeed fully random. That's because it makes any message that's the same length as or shorter than the ciphertext equally likely.

If I sent you the ciphertext PDXS, how would you know if it decoded to "EAST", "WEST", or any other four letter word?

One time pads *are* impossible to crack, by the very definition. With a one-time pad, there's no "partial" decoding whatsoever, no attack vector, no weakness. Any method that you apply that result in a structured sentence would be pure random chance. In fact, you can apply any random "pad" to the cipher to obtain anything, from a grocery list to rocket schematics.

Having "some clues about detecting a successful decoding" doesn't help with a (correctly-used) one-time pad. Every message of the correct length can encode to the same cyphertext, for some one-time pad, so in the absence of the pad the cyphertext contains no information at all about the message except its length.

Just to be quite clear about this: you say "[a] decoding that renders a perfectly structured sentence with proper spelling, and/or recognized jargon could be picked out by computer as a "highly pro

One time pads are not impossible to crack, provided you have some clues about detecting a successful decoding.

For any plaintext message of the same length you can construct a pad. This makes the cipher impossible to break. One pad will yield "attack at dawn", another "hello kitty". For any message there is a pad. A brute-force iteration of all possible pads will only yield all possible messages. The only angle of attack is to see how the pad might have been created in the first place (like seeds and sequences used) and attempt to reconstruct it.

it is possible to "decrypt" out of the ciphertext any message whatsoever with the same number of characters, simply by using a different key, and there is no information in the ciphertext which will allow [the reader] to choose among the various possible readings of the ciphertext.

even two letters right next to each other may not represent the same letter in the original plaintext..

Any cipher worth its salt will have this characteristic.

A one time pad is a mixing operation; a combination of random data with the plaintext being protected, using an operation that preserves entropy; which means that none of the randomless from the one time pad bits are lost EVEN though the plain message being encrypted is non-random, the result will have exactly as much randomness as the more random of the two bits being mixed, and therefore it is mathematically impossible to discover the value of a single bit of plaintext, without knowing the corresponding bit of one time pad.

Nor is it possible to determine the value of any single bit of one time pad, without knowing the corresponding plaintext bit.

Any attack requires discovering the value of the one time pad through an outside source, or exploiting a weakness in the pad, such as
key reuse, OR inadequate random number generator used to produce the pad.

The only thing you can ascertain about the one time pad by looking at the enciphered message, is its maximum potential length,
since you can see the number of symbols that are printed on the card, and that will be a finite number.

Actually I read something interesting about WWII One Time Pads. Apparently the pads were generated by women (typically) drawing ping pong balls out of a hopper and writing down the letters. The problem was if they drew the same letter multiple times in a row, they might put it back thinking that it wasn't "random" enough. Of course, in doing so they changed the distribution of letters to no longer be uniform. My understanding is that this very quickly erodes the cryptographic integrity of the one-time pad to the point where you can start to look for the plaintext based on letter frequency. I'm not saying that's applicable here (and I have to imagine the cryptographers would have looked at this) but interesting nonetheless.

As another aside, one of the weaknesses of the Enigma Cipher was that the subsitution wheels never substituted one letter with the same letter. This fact turned out to be somewhat helpful in breaking the cipher...

Many early ciphers had weaknesses that were the result of not fully understanding the loss of randomness from seemingly logical "optimizations".

Actually, it was even worse than that. The same physical wires were used both for "input" and "output".

Let me try to explain. Each rotor was a short cylinder with 26 contacts on each end. Inside the wheel were wires which connected the pads on one end with the pads on the other end. Typically, these were not the same pads. So applying a voltage to a pad on one side would make the voltage appear on some corresponding pad on the other side. This effectively implemented a permutation of the alphabet.

It very much looks like they quickly concluded that it was encrypted with a one-time pad [wikipedia.org]. Bearing in mind that this was encrypted using practices devised by the same institution that's trying to decrypt it now, this conclusion can't be difficult to reach. Now, a truly random OTP with a length that is equal to or longer than the length of the message has been mathematically proven to be 100% secure against cryptanalysis by anyone who doesn't have the key. So that's what they're doing now - figuring out if th

You would seem to miss the point. Here's a message encrypted with a one-time pad: WXYZ. Want to brute-force it? OK, try all the permutations of four letters that can exist in the OTP (36^4 of them, if the pad accommodates English letters and digits). Spoiler alert: One of those permutations will yield LOVE. Another will yield HATE. Which one is the correct message?

My Aunt was a radio communication specialist in the channel islands where they communicated with the underground and later the anti Nazis within the third reich. My Dad was involved in counter espionage within Great Britton. They were both recruited by the Canadian military and then trained by the combined British and Canadian military intelligence division long before the US joined in.

Not only was key info done with one time cipher it also used specialist language. For instance the word pie after decryption might be construed to be to mean supplies. Only the individuals who were taught the language could decode it and no more than a few individual agents sending info from within Germany or France used the same code specific language.

If the pigeon corpse was from D Day then it would have been really early in the landing. As the beach head was secured the code receiving specialist people moved in to undisclosed places in Normandy. Are they absolutely certain the pigeon was from D Day? If not it may have been from other sources as my aunt told me there was some underground agents using them before 1944...Some even in the Dieppe region!

The message was sent to GCHQ in Cheltnam to decode, GCHQ is what replaced the Government Code and Cipher School which was based at Bletchley Park and had 2 tasks: 1) keep our communications secure using codes and ciphers and 2) break AXIS codes and ciphers. People focus on the second one but the first is also important and we were very good at both parts. Now they kept copies of the code books like you describe (our bomber crews replaced them regularly and were charged with burning their copies if they cra

When all the old Cobol programmers were dead are retired, and the y2k hysteria descended up on us, they found a large and active community of cobol programmers in India. May be the Indian Army is still using the techniques they learnt from the Brits to get secret messages our of Islamabad and Lahore, Pakistan to the Research and Analysis Wing in New Delhi. So check them out. Some Havaldar-Major Harpreet Singh, 109th Signal Company, 7th Punjab Guards might recognize the code.

WWII had codes we can't crack but governments today are routinely hacked and their passwords dumped in pastebin?

Only because things have to be decrypted at some point. The cryptographic primitives (symmetric encryption, public/private encryption, hashes, MACs etc.) don't change much and have been pretty much rock solid. People still use RSA as invented in the 1970s, except with longer keys. I don't recall any mainstream symmetric cipher being broken either, DES had too short keys (56 bits) but you still have to brute force it. If all you have is an encrypted message you'll get nowhere in 2012 with RSA/AES, you'd get

For all we know 4 or 5 pigeons were released, each with only every 4th or 5th letter of the text, all encoded differently.
With that kind of packet loss even three letter agencies would be at a loss

Actually, I'm pretty sure there were two copies of the message sent. I deduce this because of the arabic numeral "2" entered on the form field titled "Number of copies sent". Also, there's the identifier codes for two pigeons on the message. Or didn't you look at the pretty picture in TFA?

When you are complaining about how stupid other people are, you really should make an effort to use correct spelling, grammar, and punctuation. Your post failed at all three, in addition to your lack of understanding of how capital letters work.

You could design a single-use code that isn't a random pad, such as assigning meanings to sequences of letters, in essence making a set of "words" for that mission. For example, "CQ" might mean "soldiers", "TQ" might mean tanks, etc. Notice in the ciphertext, the triad JRZ is repeated twice and the first and last 5 characters are the same.

That said, spot checking a few letters, it appears the distribution is pretty flat, suggesting an OTP. If you strike the last 5 letters (assume they're a repeat of the

Nope. A codebook is an entirely different system than a one-time pad. Codebooks are breakable given enough traffic; see Kahn's The Codebreakers [amazon.com] for many examples of codebook breaking in history, as well as some insight into how it's done. One-time pads are truly unbreakable if properly implemented (they can be broken if certain serious mistakes are made such as re-using a key, allowing key material to fall into the hands of an adversary, etc.). Code books and OTP can be used together, including informal cod