Si factoro números grandes en [matemáticas] O (n ^ 2) [/ matemáticas] ¿puedo ganar dinero con eso?

Si por n, te refieres al tamaño del número grande, entonces no.

Sin embargo, si con n, se refiere a la * longitud * del número tal como se da en la noción binaria (o, para el caso, la notación estándar de base 10), y si las constantes involucradas son lo suficientemente pequeñas, entonces quizás.

Considere lo que esto significa:

Tome un número típicamente utilizado en el algoritmo RSA que consta de 1000 bits. Si por n, te refieres al tamaño del número en sí mismo, entonces estás hablando de un número del orden de (2 ^ (1000)) ^ 2 = 2 ^ (2000) = (2 ^ (10)) ^ (200 ) = 1024 ^ (200)> 1000 ^ (200) = 10 ^ (600). En otras palabras, 1 con 600 ceros siguientes. Si ese es el número de pasos, y cada paso lleva unos pocos nanosegundos, esperará mucho tiempo por una solución.

Por otro lado, si quiere decir en función del número de bits, esto es del orden de 1000 ^ 2 = 1 millón de pasos. Sin embargo, si cada paso lleva unos pocos microsegundos, deberá esperar unos segundos para encontrar la solución.

¿Porque es esto importante? Porque el algoritmo RSA se usa para transacciones seguras.

Aparentemente, podría romper las técnicas de cifrado o resolver muchos problemas relacionados con el problema del logaritmo discreto. Además de los métodos estrictamente ilegales, no está claro cómo monetizar esta capacidad. Sin embargo, estoy seguro de que habría algunas aplicaciones inteligentes más allá de la ruptura del cifrado.

More Interesting

¿Cuál es la mejor manera de dominar los algoritmos de clasificación?

¿Cuáles son algunos ejemplos de uso no trivial de la búsqueda binaria?

¿Cómo pueden uno y qué algoritmos podrían usarse para entrenar una red neuronal profunda con una cantidad limitada de datos desaprender sus representaciones mal aprendidas?

¿Se puede usar la GPU para optimizar los algoritmos gráficos?

¿Cuál es la forma más rápida de encontrar el número original antes del descuento a mano? (números grandes)

¿Qué problemas comunes se resuelven con la programación dinámica?

Si está utilizando Java durante las entrevistas algorítmicas, ¿puede omitir las clases de escritura y acceder directamente a los métodos?

¿Qué es un algoritmo de descubrimiento de ruta de ataque cibernético?

¿Cuál es la lógica detrás de los algoritmos de ajuste de aprendizaje automático?

¿Dónde se puede encontrar una foto y detalles biográficos de Burton Howard Bloom, inventor del filtro Bloom?

¿Qué algoritmo usa Matlab para calcular las raíces de un polinomio de alto rango?

¿Cuál es la lista de MOOC que uno debe mirar en su licenciatura para aprender estructuras y algoritmos de datos C, C ++?

¿Cómo podemos encontrar de manera óptima la suma máxima de números de dos conjuntos (de números) que sea menor que un valor fijo, digamos N?

¿Cuánto tiempo / horas debo pasar todos los días para ser un buen programador de Java para poder resolver estructuras de datos y algoritmos con ese lenguaje en el futuro?

¿Qué es la búsqueda de fuerza bruta?