Saturday, March 21, 2015

Netting the Big Tuna

Intercepting and decrypting enemy messages was an important part of the Allies' strategy during World War II.  Beginning in July 1941, Germany's high command communication used a machine called the Lorenz SZ40 or SZ42, which British intelligence referred to as "Tunny" (named after the fish that Americans call "tuna").  Although the British did not obtain a Lorenz machine until late in the war, the codebreakers at Bletchley Park were able to deduce the machine's operation in January 1942.

The Tunny machine used a typewriter-style keyboard to enter text which was combined with a pseudo-random byte string to produce the cypher text.  This was then transmitted by radio or telegraph to a Tunny machine which was set up to generate the same byte string and combine it with the cypher text to get the plaintext message (a symmetric cypher using a pseudo-random one-time pad).
Read more »

Thursday, March 5, 2015

Don't curse, recurse

Recursion is a concept in mathematics, computability theory, and computer programming, although the usage differs. In computability theory, a recursive set is one where membership can be confirmed or refuted using a process that terminates, and a recursively enumerable set is one for which there is a process that terminates if membership should be confirmed but may not terminate if membership should be refuted.  In mathematics, recursion refers to the embedding of something within itself, such as a function that uses itself in its own definition.  In computer programming, a recursive algorithm is a description of a computation that includes the same computation, but using different parameters.
Read more »