Aprendizaje automático: aprendizaje supervisado para aprender y predecir el próximo código RSA

Estaba siguiendo el curso de aprendizaje automático de Andrew NG. Todavía estoy en las etapas iniciales. Con su ejemplo de predicción del precio de la vivienda en la clase que imparte Aprendizaje supervisado.

¿Es posible predecir el token RSA que se generará después de proporcionar un conjunto de datos de valores "correctos" para el programa de aprendizaje automático? ¿Podemos usar el aprendizaje supervisado para hacer que el programa aprenda el algoritmo?

preguntado el 08 de septiembre de 12 a las 09:09

3 Respuestas

El aprendizaje supervisado depende de la explotación de regularidades en los datos. Por ejemplo, si los datos se trazan contra la salida deseada, puede haber grupos o superficies muy pobladas en el espacio. Los diversos algoritmos de aprendizaje que aprenderás en clase son todas formas de explotar un tipo de estructura u otra. Si el conjunto de datos es aleatorio y no está conectado a la salida deseada, entonces no se puede realizar ningún aprendizaje.

RSA es criptográficamente útil precisamente porque es un proceso no aleatorio que es excepcionalmente difícil de distinguir de un proceso aleatorio sin estructura. No hay regularidades obvias en los datos para explotar.

Me resisto a disuadirte de echar un vistazo a esto; nunca sabes lo que podría provocar o lo que podrías aprender. Pero en tu lugar no quisiera que ninguna parte de mi nota dependiera del éxito. Diré que para tener éxito en un sentido significativo, casi tendrá que basar el aprendizaje en características en las que nadie ha pensado hasta ahora. Si está decidido a probar esto, le recomendaría comenzar con números primos muy pequeños y, solo si obtiene algo de tracción, pasar a números primos más grandes.

Parte de la razón para tener dudas depende de los argumentos de complejidad. Si uno puede resolver problemas RSA arbitrarios basados ​​en un número compuesto, entonces puede factorizar ese número en una cantidad de tiempo razonable, sin embargo, se cree (pero no se sabe) que factorizar un número compuesto arbitrario es NP difícil, aunque no NP completo.

Respondido el 10 de Septiembre de 12 a las 20:09

No funcionará.

Un token RSA crea una secuencia pseudoaleatoria de números a partir de una semilla.

En teoría, si tuviera recursos infinitos, podría entrenar un algoritmo lo suficiente como para "aprender" toda la secuencia de números pseudoaleatorios. Y luego podría predecir la secuencia (y potencialmente incluso inferir la semilla) a partir de un conjunto de valores previos.

En la práctica, este enfoque está garantizado para fallar porque ambos:

  • El tiempo de formación sería demasiado largo para que esto sea factible.
  • El tamaño de la solución requerida (por ejemplo, el número de parámetros en una red neuronal) sería demasiado grande para implementarse.

Por "demasiado grande" y "demasiado largo" debe entender "más largo/más grande de lo que nadie en el universo podrá lograr".

Respondido el 08 de Septiembre de 12 a las 10:09

No logrará una tasa de éxito estadísticamente significativa con esto. Este tipo de cosas está prohibida por las matemáticas en juego dentro de la ficha.

Por ejemplo, los servicios administrativos de una cadena de hash puede ser usado.

Respondido el 08 de Septiembre de 12 a las 10:09

está bien. ¿Significa que el aprendizaje automático no puede realmente aprender un algoritmo (algoritmo no criptográfico)? - 18bytes

@Sundar, los ejemplos de precios de viviendas toman un montón de "características" de un conjunto de entrenamiento para aprender cómo interactúan entre sí. La idea es encontrar una fórmula que, dadas todas las características como entradas, genere un número que se correlacione con las muestras dadas. Aquí la máquina no aprende cómo predecir, sino cuáles son los factores de las diferentes características que al final conducen a una estimación "realista". - Lucero

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.