Any code more than 50 years old should be trivial to crack by modern cryptoanalysis right? Otherwise we wouldn't be told to only use the very best algos we have on hand. It must have just been a matter of taking the time to crack this particular code.
On a side note, (as long as they mention Rosetta Stone) does writing in another language count as a form of cryptography? If so, it should likewise be trivial to crack any remaining unknown ancient scripts.
The hard part is generally figuring out what cipher is being used. Once you know that, and the cipher is old, modern crypt analysis would probably easily crack it.
This is down to kerchoffs principle, which states that you should not rely on the secrecy of what cipher is being used, only on the secrecy of the key.
As such, writing in another language is not cryptography.
There is a name for hiding info by depending on the method being unknown: steganography.
This includes different using different languages (see the navaho code talkers), or hiding data in the less significant bits of an image, or hiding a message in the first letter of every sentence and so forth.
> This is down to kerchoffs principle, which states that you should not rely on the secrecy of what cipher is being used, only on the secrecy of the key. As such, writing in another language is not cryptography.
Since "language as cryptography" breaks Kerchoff's Principle, doesn't that just make it bad cryptography? Shouldn't that make it all the easier to use cryptanalysis to translate it?
Unrelated point: I thought Steganography was the art of hiding the _fact_ of encryption. If a Japanese analyst hears someone talking in Navajo, it's no secret that some unknown message is being conveyed.
Sorta, but it’s not as though there were tons of options for affordable, near-realtime communications then.
It’s also hard to overstate how obscure Navajo was. Young and Morgan developed a writing system for it in 1937, and the first dictionary was developed as part of the war effort (and thus not publicly available) in the 1940s. The Navy estimated that ~30 non-Navajos spoke the language at the time.
It’s thus pretty unlikely that “this is Navajo” would have been an Axis analyst’s first guess—-and even if it were, there were minimal resources available. The language is pretty far from Japanese or German, which also doesn’t help.
On top of all that, the messages being sent weren’t literal Navajo—-there was sort of a substitution code that used common Navajo words to stand in for military items. The Japanese actually captured a [Navajo solider](https://en.m.wikipedia.org/wiki/Joe_Kieyoomia) but he could not undertatand the transmitted messages.
It had a lot of advantages. A big one being the extremely small number of people who spoke it and who lived exclusively in North America.
They could also have “fun” and make it very hard to crack. For example they could call a submarine a “metal fish” one day and a “sea snake” the next day and leave everybody scratching their heads. As a native speaker they could use subtle context to convey the message and that turns out to be extremely difficult for an outsider to grasp.
One time pads have been in use since the end of the 19th century and possibly earlier if they were used correctly and we don’t know the pad that was used 50 years or not you will not break the encryption.
Modern encryption is fast and flexible but there are old ciphers that are just as strong when used correctly.
Modern cryptography is strong due to mainly a few key aspects, randomness which enables us to generate true or near true random keys, key exchange/distribution (electronic communications and various key exchange algorithms like DH) and non alphabetical plain text and keys.
However when used correctly a polyalphabetic cipher like a running key cipher does produce a One Time Pad which is effectively impossible to crack through non exhaustive means.
Supposing by poly-alphabetic cipher you mean a substitution mechanism based on multiple alphabets (https://en.wikipedia.org/wiki/Polyalphabetic_cipher) (e.g. Enigma). This class does not provide information theoretic security. OTP does - it literally defined the notion.
>> Modern cryptography is strong due to mainly a few key aspects, randomness which enables us to generate true or near true random keys, key exchange/distribution (electronic communications and various key exchange algorithms like DH) and non alphabetical plain text and keys.
Maybe I am misunderstanding the statement you want to make here, but modern cryptography is strong because it is based on i) notion of information theoretic security ii) notion of computational security. The latter, upon which e.g. the Diffie-Hellman key exchange or RSA are built, states that distinguishing the output of the function from a particular distribution, can be used to solve problems we consider intractable (either on average or in the worst case).
I am not sure to what you are referring to when stating:
>> Modern encryption is fast and flexible but there are old ciphers that are just as strong when used correctly.
To my knowledge that is not correct, but I am curious. (Shannon's analysis was the first rigorous treatment and bootstrapped the field.)
It is not trivial to crack unknown ancient scripts. One of the poster children of this is Linear A (https://en.wikipedia.org/wiki/Linear_A), a script encoded with the same characters as the "cracked" Linear B, but we have no idea what Linear A actually contains.
Modern cryptoanalysis still requires large corpus' of data to work through.
For an example of the work it takes to break classical cipher methods, consider the Kryptos sculpture (its a sculpture at the CIA headquarters with 4 enciphered texts on it).
> Modern cryptoanalysis still requires large corpus' of data to work through.
I think this is the key I was missing. Like, it's a catastrophe if something is degraded to RC4, but we can't break something from 500 years ago. But I guess for modern communications you automatically get a very large corpus if you just wait for a little bit.
I think use of other languages could be described as a form of cryptography. It's been done before as well - see the Navajo code talkers in WWII[1], who were very effective in terms of speed, and who the Japanese found difficult to even transcribe. Of course, this relies on the language being obscure, and many more languages are well documented now than in the 1940s.
>it should likewise be trivial to crack any remaining unknown ancient scripts
That doesn't follow. Part of successfully decrypting a message is knowing when you have the right answer. That doesn't apply if you're looking at a limited dataset (or claytablet set), and you have no idea about the context the texts were written in.
Navajo code talked used code on top of the obscure language the Japanese eventually figured out that it was Navajo and so Native American soldiers were specifically targeted both on the battlefield and in PoW camps despite the vast majority of them not being able to speak Navajo and the majority of those who did, did not have knowledge of the code.
This feels like it flies in the face of the usual advice for modern crypto. Don't try to be clever. Don't roll your own system. But it sounds like a novel language, and a lack of context, could actually cause headaches for those coming after you.
Keep in mind that it was the early 1940s—-there weren’t many options other than rolling your own. The code talkers were literally 100x faster than the available machines and much more “portable” and robust.
It also wasn’t just haphazardly deployed like a DIY crypto system inside some app might be. There were tests and working groups and stuff like that.
With the possible exception of OTP, modern (sic) crypto was essentially nascent at that time (Enigma), there was no option but to roll your own. Your advice comes from a corpus of 70 years of collective experience which did not exist 70 years ago.
I think when I said this I was assuming that the implication was that it would be useful even today. I understand that crypto was much different back then.
I wouldn't say trivial, even if you know how the system works, it can take a lot of time to break things. A good example would be Enigma. There is the BOINC based project Enigma@Home [1], which tries to decypher intercepted messages. Over 74880 CPU-years have been spent to crack messages, and there are still some unbroken.
And do not forget the Voynich manuscript [2], from the 15th century, which still remains un-decyphered.
On a side note, (as long as they mention Rosetta Stone) does writing in another language count as a form of cryptography? If so, it should likewise be trivial to crack any remaining unknown ancient scripts.
But I'm probably being ignorant somewhere here.