The two-time pad: midwife of information theory?
lightbluetouchpaper.org
lightbluetouchpaper.org
> The Russians had two intelligence organisations ... the KGB and the GRU. Both organisations knew that they should not reuse one-time pads.
> [Against clear orders] The printers decided to print four copies of each pad then send two each to the KGB and GRU. Neither the KGB nor the GRU reused the pads they received, except perhaps because of occasional operator error.
> ... Subtracting one message from the other cancelled out the unknown key to produce a synthetic message that was the difference between the two original messages. These could then be picked apart using a combination of statistics and predictable words.
> - Mark Lomas
why? how much more expensive could it be to generate new random numbers? do they not have cheap/fast RNGs?
Just a guess, obv I wasn't there.
Generating randomness is hard, and a recent concern.
See pages 47-49 here: https://nsarchive2.gwu.edu/NSAEBB/NSAEBB278/01.PDF
Following Hallock's discovery about re-use of key, the unit found several thousand pages of re-use, but no usage more than a second time, that is, a depth of two only could be found. This was discouraging to the cryptanalysts at that time because the conventional wisdom was that re-uses had to be greater than two to be solvable. [REDACTED] This attack, completed in March 1944, failed to produce any results.
It's not the mathematics that makes their decryption in the 1940s interesting so much as the fact that it occurred contemporaneously with the advent of general-purpose computing and information theory (which was apparently motivated by this very problem).
At some point your level of sophistication hits that of Lucifer or DES (iterated, nonlinear, nontrivial differential characteristics) and you can declare it "pretty annoying to break" and start comparing it to modern ciphers.
I never thought to go looking before today but I do wonder what the pre-Lucifer designs looked like.
What you have now is a PRNG with a big seed/state vector.
The two-time pad is like Vigenere with a very long key. Offhand, I'd expect that makes the cryptanalysis much more challenging than for Vigenere with a typical short key.
Key size is less interesting to me than the number of times the key is reused.
Kind of, but not quite; the problem with a 2-time pad is key cancellation: c1 ^ c2 = (p1 ^ k) ^ (p2 ^ k) = p1 ^ p2. The xor[0] of two plaintexts is only challenging to cryptanalyze if high-entropy sensitive information happens to line up in just the right way.
0: Technically sum mod 26 or so - xor is sum mod 2 - but the same tricks apply.
Usually such beginner exercises will give you >10 uses. In Cryptopals 3-19, another n-time pad exercise (labeled "moderate difficulty"), you provide n=40.
[A] http://cryptopals.com/sets/1/challenges/6
[B] "When the Russians developed their manual system (which may have been inspired by the U.S. work or a German one-time pad developed earlier in the 1920s) they presumably reckoned that using them twice was safe enough.
"They were spectacularly wrong."
[1] http://travisdazell.blogspot.com/2012/11/many-time-pad-attac...
http://www.apprendre-en-ligne.net/crypto/bibliotheque/feiste...
I thought they'd be more directly published (rather than inferred) about the technical methods of VENONA but even there, there's very little. Like, they haven't even released the raw decrypts, just translations. And a bunch of papers congratulating themselves on how awesome they were.
† this also suggests William Tyndale possibly wrote the earliest Transformers fanfic.
Determinants are a rather old concept, named for their utility in determining whether or not a given system of equations has a unique solution. I believe determinants of general systems of 3 equations and 3 unknowns were known by Chinese mathematicians two millenia ago.
(My students seemed to be rather uninterested, or maybe more likely bemused, in the etymology.)
Calculating determinants was so important that even Charles Dodgson (a.k.a. Lewis Carrol) had a technique that he called condensation to evaluate them, a technique which had the benefit that the intermediate divisions would help you check your work in the event you expected the final determinant to be an integer.
Funny connections.