Thursday, February 23, 2023

Computers and Cryptography

The development of computers is closely intertwined with the history of cryptography, and vice versa. The mechanization of cryptography during the early 20th century slowly began to exceed the skills of cryptanalysts to break such encryption. The only way to break these ciphers was to also mechanize the breaking of ciphers. Colossus, the first programmable digital computer, was developed exactly for that purpose during World War II.

Until the early 1950s, computers were only used by government agencies for codebreaking, the military, weapons development and research. In 1951, the UNIVAC was the first commercially produced digital computer, but computers were mainly used by universities and large corporations like IBM and General Electric. Programming those large mainframe computers was a complex task.

Making Computers Accessible 

This changed when Professors John Kemeny and Tom Kurtz from Dartmouth research university  got the, I quote, crazy idea to develop a simple language to make programming easier and more accessible for non-technical undergraduate students.

However, they first had to buy a computer. Since there was no budget for computers, they bought a Librascope LGP-30 computer, an optical tape reader and a typewriter console for a total of $37,040 and booked it under furniture. That's $383,434 in present 2023.

Librascope LGP-30 with console typewriter. Source: Bob Fleischer - Wikipedia.

John Kemeny wrote the compiler to translated the new language into machine language for the LGP-30. This new language was named BASIC (Beginners' All-purpose Symbolic Instruction Code) and made programming easier than ever.

Moreover, to make BASIC accessible to as many students as possible, they implemented time sharing  (sharing computing resource) on the LGP-30 computer to enable several students to independently work on their own console typewriter, remotely and simultaneous, processed on one single computer. This idea resulted in students lining up  to learn programming with BASIC, the computer language that remains popular to this day.

Crypto Going Mainstream

For many people, BASIC was their first programming language when small computers became commercially available in the late 1970s. This was the era where people who bought a computer usually also learned to program. They were often called nerds, because… who on earth needs a computer? Yeah, sure.

The rapidly growing number of computers and users also spurred the development of crypto algorithms by others than government and the few commercial firms that build crypto equipment. This fueled the everlasting competition between codemakers and codebreakers, and between state and citizens. This evolution also democratized cryptography and digital privacy.

All this started when two professors decide to make programming easier. More on the development of BASIC in the below video.

Birth of BASIC - Dartmouth College

More on Cryptography and Computers

On our website you find a brief history of cryptography and learn more about the Colossus computer, used by the British codebreaker during the Second World War to break the German Lorenz SZ40/42 machine, used for their high-level communications.

More on the LGP-30 computer at the Computer Museum Stuttgart and many detailed photos at the Time-Line Computer Archive. Also read Fifty Years of BASIC on Time.


Anonymous said...

Excellent post. I should add that this is a new topic for me and I am now diving into this BASIC coding language. Thanks, Dirk! Will check out the video now.

Any thoughts on the future integration between machine learning and humans in the workplace? Interested in your take on how it can / will have an effect on cryptography.

I can see it being used to augment and test crypto algorithms, making them stronger and more resilient as we move into the era of quantum computing.

Definitely a topic for a future post!

Take care,

Dirk Rijmenants said...

Hi Anon,

Interesting question. New crypto algorithms are tested against various attacks, and quantum computing and artificial intelligence will become part of that series of test, as in many fields of science. But cryptanalysis remains a highly specialized art. I say art, because cryptanalysis is not only mathematics, but also creativity. The latter is something I never expect to really develop in AI. Breaking ciphers is thinking out of the box.

One good example is the raw mathematics of theoretical and practical key space, i.e. all possible combinations of the key to encrypt/decrypt a message, and the work factor. You can mathematically prove that a given cipher is extremely difficult to break, but someone can still find a huge shortcut. A computer can calculate the key space, but it requires creativity and ingenuity to see through the structure of the cipher to find a method to reduce an often astronomical key space, or circumvent parts of the cipher.

You mention quantum computing, which is technically still far from cryptanalyzing complex ciphers, but if/when that would be possible, the key space would become irrelevant. When that happens, we have a problem. I see at this moment only one mathematical defense against quantum computing, and that’s one-time pad encryption, basically an equation with two unknowns.

Also, speed, trying out all keys and quantum computing are not the holy grail, for instance useless against one-time pad. Quantum computing, and AI for that matter, will be perfectly capable to decrypt a one-time pad encrypted message and find a plaintext, and another one, and an infinite number of other solutions, not knowing which one is correct, making any solution worthless.

Also, history has shown us that not knowing the structure of a complex cipher is a serious obstacle for breaking it (although Kerckhoff's principle speaks against that for practical solutions). Machine learning might be able to combine all sorts of cipher elements, but the structure of a cryptographic algorithm is also the result of creativity, and it will require creativity to reduce the problem to a solution that is manageable in numbers and time. Technically, for practical cryptography, I believe we have more to fear from speed than from AI. But who can tell what the future will bring…

Anonymous said...

Great reply!

You mention OTP encryption... With the obvious security short falls that we deal with on a daily basis with technology (computers, smart phones etc) will this be the ultimate fall back? Will this ever be the go-to for secure messaging outside of those spooky circles of intel and number stations? With the state of surveillance (I think about cameras on every street corner and your door bell reporting your departure from your own flat), message encrypted security maybe saved from prying eyes, but if we are constantly monitored and surveiled and digitally followed, will it even matter?

Continuing on with the topic of OTP, can we possibly see a resurgence or are people inherently too lazy to do anything that means pencil, paper, and possibly... Bare with me here... Their brains? I always say that people do not care until it has an effect on them. For example, the over throwing of RoeVWade in the U$. Will it have to get to the Ch###se surveillance state kind of level before people decide they cannot rely on others or companies to ensure their own security / privacy / confidentiality?

You make a good point for the use of OTP (which I of course agree). I think you mentioned previously about ATM-like key material sites.. I think you make a strong argument for such things.

Yes, we will see what comes of this quantum technology, the influx of machine learning and eventually, the true advent of artificial intelligence.