¿Qué calculó el misterioso programa pequeño de Turing en la computadora de Manchester?

10

Estoy leyendo el documento "Maquinaria de computación e inteligencia" de Turing ( https://www.csee.umbc.edu/courses/471/papers/turing.pdf ) y encontré un fragmento en el que dice:

He configurado en la computadora Manchester un pequeño programa que usa solo 1,000 unidades de almacenamiento, mediante el cual la máquina suministró un número de dieciséis respuestas con otro en dos segundos. Desafiaría a cualquiera a aprender de estas respuestas lo suficiente sobre el programa para poder predecir cualquier respuesta a valores no probados.

A mí me parece un problema de aprendizaje automático :) pero dejando de lado mi interés por la IA, mi pregunta es la siguiente:

¿Alguien sabe lo que estaba haciendo este programa?

Tengo mucha curiosidad

PD: Por la longitud de la entrada y salida, sospecho que era un algoritmo de cifrado, pero agradecería cualquier pista sobre el programa real .

nanaki
fuente

Respuestas:

2

Tienes razón en que esto tiene que ver con el cifrado, pero no es cifrado per se. Es algo llamado hashing. Lo que hace su programa es tomar un número, hacer un hash y generar el hash. Lo que Turing creó ahora se llama un hash criptográficamente seguro.

Un hash moderno criptográficamente seguro debe hacer lo siguiente. Debería ser fácil hacer hash de la entrada, pero muy difícil 'deshacer' una salida para obtener la entrada. En este caso, "muy difícil" generalmente significa "llevaría meses o años en una supercomputadora, si no incluso más".

J. Antonio Perez
fuente
Por lo general, pensamos que un hash tiene un dominio ilimitado, mientras que en este caso, el dominio y el rango son los mismos. En ese sentido, es más como una función unidireccional. Sin embargo, tanto una función hash como una unidireccional son realmente fáciles de calcular, mientras que aquí el punto es que parece aleatorio, como una función pseudoaleatoria.
Yuval Filmus
2
Gracias @JorgePerez! Sé lo que es un hash, mi pregunta era más como: ¿qué hash implementó? ¿Hay alguna nota sobre esto? Tal vez él publicó el algoritmo? Lo siento si no estaba claro :)
nanaki
2
¿Tienes una referencia que puedas citar?
Raphael