Francis Villatoro explica la relación entre la factorización de números primos y el cálculo del logaritmo discreto en el contexto de la criptografía.
…2, si tengo el punto P, puedo construir el punto 2P y por analogía con el 2P y el P puedo definir el 3P o con el 2P y el 2P obtener 4P, etc. Puedo tener lo que se llama un producto escalar, un número entero multiplicado por un punto. Pues esta es la idea. La idea de los algoritmos descifrados con clave pública, como ya muchos oyentes sabrán, pero quizás lo recordamos, como el algoritmo RSA, es utilizar un problema que sea fácil en una dirección y muy difícil en la contraria. Por ejemplo, un problema muy fácil es multiplicar dos números primos. Yo multiplico dos números primos y obtengo lo que se llama la clave pública. Pero el problema inverso es mucho más complicado: es factorizar un número primo. Si tengo un número primo de 2048 bits, es un número primo enorme, con una enorme cantidad de dígitos decimales; semiprimo, para ser preciso, ¿no? En este caso es semiprimo porque es un producto, es un producto de dos primos, semiprimo o biprimo. Entonces, tengo este número muy largo: factorizarlo es muy difícil. Pues aquí ocurre algo parecido, cuando yo con la operación suma de puntos en la curva elíptica tomo un producto escalar muy alto, por ejemplo, 1000P, 100.000P; un número, un chorizo de 256 bits de número multiplicado por P es un número enorme, que tiene una cantidad enorme de dígitos, multiplicado por P. Ahora invertir ese número para saber cuál era P es muy difícil, es muy costoso. Entonces esa es la idea del cifrado con clave pública con curvas helísticas. Por supuesto, en el cifrado no se usan curvas elípticas en el plano con números reales, se utilizan números enteros; se utiliza básicamente ZP con P, un número primo, es decir, se trabaja con un retículo discreto y lo que llamo curvalística es una versión discreta de la curva, pero aquí por seguridad se trabaja con un número P enorme; no se trabaja con Z3 012 o con Z5 01234, sino que trabaja con un número primo que tiene también 256 dígitos en binario, un chorizón de número primo. entonces todo esto complica mucho el cálculo y cómo, entonces, es muy robusto, con 256 bits, el algoritmo descifrado de Bitcoin es prácticamente a día actual, es prácticamente imposible de descifrar, de criptoanalizar ¿Cómo se podría hacer esto con un ordenador cuántico? Como lo de lo cuántico, el famoso algoritmo de factorización de números primos de Peter Schor de 1994, es un algoritmo que incluía Peter Schor en su artículo. La factorización de números primos y el cálculo del logaritmo discreto. ¿Por qué? Porque el cálculo del logaritmo discreto es la herramienta básica para criptoanalizar el algoritmo de curvas helísticas. La diferencia entre factorizar números primos y el algoritmo de logaritmo discreto es que si yo tengo que, digamos, criptoanalizar una clave con n bits, yo necesito, si es RSA, tengo que factorizar primos, necesito el doble en qubits, si es el algoritmo de curvas helísticas necesito el triple, con ese modo, ¿eh? Es decir, que si yo tengo una clave de 256 bits en Bitcoin, necesito como mínimo tres veces más qubits lógicos para poder descifrarla LIGO lógicos porque con físicos tienen un enorme error y entonces tengo que introducir algoritmos de corrección de errores Tener Una enorme cantidad de qubits físicos que aproximen cada qubit lógico. Por eso se estima que para descifrar y hackear Bitcoin necesitaré millones de qubits físicos con las tecnologías actuales, pues con 15 los han hecho estos chinos. Y claro, han multiplicado…
Juan Carlos Gil comenta sobre una optimización en el tamaño de la malla utilizada en simulaciones, señalando que no se trata de una malla Stagg literal sino de dos mallas paralelas con escalas diferentes.
Habla: Juan Carlos GilPalabras #20malla stagg a escala distintasimulaciones numéricas 40000 pasoscódigo paralelizado 800 núcleos cpuoptimización tamaño malla gil…la de escape de las partículas y la Y tiene la mitad, los 800 por 400, bueno porque el problema tiene simetría radial, justifican que les va bien Eso para la espacial y para la velocidad utilizan 256 por 256, porque han usado este número pues se me escapa, es Curioso, han debido optimizar el tamaño de la palabra. Entonces no es una malla literalmente Stagg, son dos mallas en paralelo a escala distinta, porque tienen números de puntos distintos. Sí, sí, y además es radical: 256 por 256, curiosísimo. Bueno, usan 40.000 pasos de simulación numéricos y todo esto les lleva 100 horas, 4 días completos, usando 800 núcleos de CPU. Por supuesto el código que han desarrollado está completamente paralelizado. Pero esto ahora, Francis, nos habla de unos cubits y unos ordenadores cuánticos, y lo resolvemos todo en un microsegundo; ya verás. Estos son simulaciones 2D, es decir, son simulaciones que cualquiera de los PCs de las personas que nos están oyendo…
Francis Villatoro explica cómo un bulo viralizado en redes sociales sobre un supuesto hackeo a Bitcoin sirve como excusa para recordar conceptos básicos sobre la seguridad de esta criptomoneda.
Habla: Francis VillatoroPalabras #16seguridad bitcoin algoritmo curvas elípticasclave bitcoin 256 bits rsaruido problema computación cuántica…calcular ciertas cosas Pero ni calcula nada, ni ejecuta nada de Bitcoin, ni nada por el estilo O sea que esto probablemente es eso, es el clásico bulo de redes sociales que se convierte en noticias Pero me sirve como excusa Perdona, ya sabemos que el gran Problema de la computación cuántica es el ruido. Sí, exactamente. Sí, tal cual. Esto sirve como excusa para recordar algunos conceptos básicos sobre la seguridad Bitcoin. Bitcoin utiliza un algoritmo de firma digital basado en curvas elípticas y es un algoritmo que le permite utilizar una clave más corta que los algoritmos estándares de cifrado con clave pública como RSA. La clave que usa Bitcoin es de 256 bits y eso equivale a uno del orden de 3000 bits en. RSA. En RSA, como ya comentó Sara algunas veces, en los casos más exagerados se trabaja con 2048 o por ahí, no mucho más. La idea del cifrado con curvas elípticas. Una curva elíptica es una cosa que se parece, ¿acordáis esto de las pinzas para papel? Que son…
Francis Villatoro explica la relación entre la factorización de números primos y el cálculo del logaritmo discreto en el contexto de la criptografía.
Habla: Francis VillatoroSignificado #1 · Palabras #4algoritmo rsa clave públicafactorizar número primo 2048 bitsclave pública producto de primosnúmero semiprimo biprimocifrado clave pública curvas elípticasoperación suma puntos curva elípticaproducto escalar alto francis villatoronúmero enorme chorizo de 256 bitscifrado curvas elípticas números enterosretículo discreto seguridad cifradocurvalística versión discreta curvanúmero primo enorme seguridadcifrado con curvas elípticas seguridadalgoritmo bitcoin bits descifrarfactorización números primos peter schorfactorización números primos criptografíalogaritmo discreto algoritmo curvas helísticascriptoanálisis clave rsa n bitsalgoritmo curvas elípticas necesita tripleclave bitcoin requiere qubits lógicosqubits físicos tienen enorme erroralgoritmos corrección errores necesarios…2, si tengo el punto P, puedo construir el punto 2P y por analogía con el 2P y el P puedo definir el 3P o con el 2P y el 2P obtener 4P, etc. Puedo tener lo que se llama un producto escalar, un número entero multiplicado por un punto. Pues esta es la idea. La idea de los algoritmos descifrados con clave pública, como ya muchos oyentes sabrán, pero quizás lo recordamos, como el algoritmo RSA, es utilizar un problema que sea fácil en una dirección y muy difícil en la contraria. Por ejemplo, un problema muy fácil es multiplicar dos números primos. Yo multiplico dos números primos y obtengo lo que se llama la clave pública. Pero el problema inverso es mucho más complicado: es factorizar un número primo. Si tengo un número primo de 2048 bits, es un número primo enorme, con una enorme cantidad de dígitos decimales; semiprimo, para ser preciso, ¿no? En este caso es semiprimo porque es un producto, es un producto de dos primos, semiprimo o biprimo. Entonces, tengo este número muy largo: factorizarlo es muy difícil. Pues aquí ocurre algo parecido, cuando yo con la operación suma de puntos en la curva elíptica tomo un producto escalar muy alto, por ejemplo, 1000P, 100.000P; un número, un chorizo de 256 bits de número multiplicado por P es un número enorme, que tiene una cantidad enorme de dígitos, multiplicado por P. Ahora invertir ese número para saber cuál era P es muy difícil, es muy costoso. Entonces esa es la idea del cifrado con clave pública con curvas helísticas. Por supuesto, en el cifrado no se usan curvas elípticas en el plano con números reales, se utilizan números enteros; se utiliza básicamente ZP con P, un número primo, es decir, se trabaja con un retículo discreto y lo que llamo curvalística es una versión discreta de la curva, pero aquí por seguridad se trabaja con un número P enorme; no se trabaja con Z3 012 o con Z5 01234, sino que trabaja con un número primo que tiene también 256 dígitos en binario, un chorizón de número primo. entonces todo esto complica mucho el cálculo y cómo, entonces, es muy robusto, con 256 bits, el algoritmo descifrado de Bitcoin es prácticamente a día actual, es prácticamente imposible de descifrar, de criptoanalizar ¿Cómo se podría hacer esto con un ordenador cuántico? Como lo de lo cuántico, el famoso algoritmo de factorización de números primos de Peter Schor de 1994, es un algoritmo que incluía Peter Schor en su artículo. La factorización de números primos y el cálculo del logaritmo discreto. ¿Por qué? Porque el cálculo del logaritmo discreto es la herramienta básica para criptoanalizar el algoritmo de curvas helísticas. La diferencia entre factorizar números primos y el algoritmo de logaritmo discreto es que si yo tengo que, digamos, criptoanalizar una clave con n bits, yo necesito, si es RSA, tengo que factorizar primos, necesito el doble en qubits, si es el algoritmo de curvas helísticas necesito el triple, con ese modo, ¿eh? Es decir, que si yo tengo una clave de 256 bits en Bitcoin, necesito como mínimo tres veces más qubits lógicos para poder descifrarla LIGO lógicos porque con físicos tienen un enorme error y entonces tengo que introducir algoritmos de corrección de errores Tener Una enorme cantidad de qubits físicos que aproximen cada qubit lógico. Por eso se estima que para descifrar y hackear Bitcoin necesitaré millones de qubits físicos con las tecnologías actuales, pues con 15 los han hecho estos chinos. Y claro, han multiplicado…
Francis Villatoro describe cómo la ejecución de algoritmos cuánticos puede llevar a un crecimiento exponencial del error, degradando el algoritmo hasta hacerlo inutilizable.
Habla: Francis VillatoroPalabras #15error algoritmo qubitsclave 2 bits volumen cuánticoalgoritmo degradado ejecución qubits…pero claro, si yo puedo ejecutar infinitas operaciones, pues no tengo problema, puedo ejecutar prácticamente cualquier cosa, pero en muchos de los ordenadores cuánticos actuales puedo ejecutar 20 operaciones, 30 operaciones, 40 operaciones, no mucho más. Empiezo a hacer operaciones, de repente el error crece una barbaridad y acaba un momento en que me destruye; se degrada tanto el algoritmo que ya no puedo seguir ejecutando, ¿no? Entonces, en este caso, con 18 qubits, con un volumen cuántico razonable actual, probablemente se podría descifrar una clave de 2, 3 bits. Con mucha suerte, 4. O sea, ni mucho menos una de 256 bits. Entonces eso es un poquito lo que yo quería contar, ¿no? Quería contaros eso: que se ha publicado este tipo de artículos, pero que cada vez que leamos un artículo de este tipo, en 320 segundos con 18 qubits. Bueno, con 18 qubits en 320 segundos, con toda…