patternMinor
What did Turing's mysterious small programme on the Manchester computer calculate?
Viewed 0 times
manchesterthemysteriouswhatprogrammedidsmallcomputercalculateturing
Problem
I am reading Turing's "Computing machinery and intelligence" paper (https://www.csee.umbc.edu/courses/471/papers/turing.pdf) and found a fragment in which he says:
I have set up on the Manchester computer a small programme using only 1,000 units of storage, whereby the machine supplied with one sixteen-figure number replies with another within two seconds. I would defy anyone to learn from these replies sufficient about the programme to be able to predict any replies
to untried values.
It looks like a machine learning problem to me :) but putting my interest on AI aside, my question is the following:
Does anyone know what this program was doing?
I am very curious.
PS: By the length of the input and output, I suspect it was an encryption algorithm, but I would appreciate any clue to the actual program.
I have set up on the Manchester computer a small programme using only 1,000 units of storage, whereby the machine supplied with one sixteen-figure number replies with another within two seconds. I would defy anyone to learn from these replies sufficient about the programme to be able to predict any replies
to untried values.
It looks like a machine learning problem to me :) but putting my interest on AI aside, my question is the following:
Does anyone know what this program was doing?
I am very curious.
PS: By the length of the input and output, I suspect it was an encryption algorithm, but I would appreciate any clue to the actual program.
Solution
You're right that this has to do with encryption, but it's not encryption per se. It's something called hashing. What his program does is take a number, hash it, and output the hash. What Turing created is now called a cryptographically secure hash.
A modern cryptographically secure hash must do the following. It should be easy to hash the input, but very difficult to 'unhash' an output to get the input. In this case, "very difficult" usually means "it would take months or years on a supercomputer, if not even longer."
A modern cryptographically secure hash must do the following. It should be easy to hash the input, but very difficult to 'unhash' an output to get the input. In this case, "very difficult" usually means "it would take months or years on a supercomputer, if not even longer."
Context
StackExchange Computer Science Q#79532, answer score: 2
Revisions (0)
No revisions yet.