SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
Generaci´on de n´umeros primos fuertes para
criptograf´ıa
Juan Alfredo Salas Santillana
Escuela de Ciencia de la Computaci´on
Universidad Cat´olica San Pablo
4 de julio de 2014
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
Outline
1 Introducci´on
2 Generadores de primos fuertes
El metodo original del rsa
Algoritmo de Williams/Schmid
Algoritmo de Gordon
3 Comparativas
4 Conclusiones
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
Algunas definiciones
N´umero primo: Es un entero mayor que 1 que tiene
´unicamente dos divisores distintos: ´el mismo y el 1
|Q| es el tama˜no en bits de Q.
Criba de Erat´ostenes: Algoritmo que permite hallar todos los
n´umeros primos menores que un n´umero natural dado n
Test de primalidad: Algoritmo que, dado un n´umero de
entrada n, no consigue verificar la hip´otesis de un teorema
cuya conclusi´on es que n es compuesto.
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
Qu´e es un primo fuerte
Un n´umero primo fuerte es aquel que cumple las siguientes
caracter´ısticas:
|P| debe ser grande (Actualmente se propone 2048 bits o
m´as).
El mayor factor de P − 1, llamado P debe cumplir que |P |
sea grande.
El mayor factor de P − 1, llamado P debe cumplir que |P |
sea grande.
El mayor factor de P + 1, llamado P+ debe cumplir que |P+|
sea grande.
Estas definiciones pueden variar en la diversa literatura, segun el
autor.
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
Espiral de Ulam
La espiral de Ulam, descrita por el matem´atico
polaco-estadounidense Stanislaw Marcin Ulam (1909-1984), es una
forma de representaci´on gr´afica de n´umeros primos que muestra un
patr´on.
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
Test de primalidad Miller-Rabin
Dado n un primo mayor a 1 impar del cual queremos saber si es
primo o no. Sea m un valor impar tal que n − 1 = 2km y a tal que
2 ≤ a ≤ n − 2, Cuando se cumple:
am
≡ ±1 m´od n
o
a2r m
≡ −1 m´od n
Para al menos un r entero tal que 1 ≤ r ≤ k − 1, se considera que
n es un probable primo; en caso contrario n no puede ser primo.
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
Generador de primos aleatorios
Este algoritmo es una implementaci´on propia y hace uso del
generador de aleatorios URAND del sistema operativo GNU/Linux.
1 Parsear a un entero el valor aleatorio obtenido de /dev/urand
y almacenarlo en A.
2 Calcular
(A m´od (END − START)) + START
donde END y START es el mayor y menor numero que se
almacena en la cantidad de bits indicada.
3 Sumar en una unidad A.
4 Enviar A al test de primalidad de Miller-Rabin.
5 Si A es compuesto regresar al paso 3.
6 Retornar A.
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
Pollard P-1
El algoritmo fue desarollado por J. M. Pollard en los 70, el
m´etodo basicamente usa alguna informaci´on acerca del orden
de un elemento en el grupo Zp para encontrar un factor p de
N
El Algoritmo hace uso del Teorema de Fermat el cual indica,
Dado un primo p y un a ∈ Z tal que p a entonces ap−1 ≡ 1
m´od p.
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
Pollard P-1
1 Seleccionar un limite superior para B (Usualmente 105 y 106)
2 Calcular m = lcm(B), Puede ser calculado mediante la
multiplicatoria de los primos generados mediante la Criba de
Erat´ostenes.
3 Seleccionar un entero aleatorio positivo entre 1 y n
4 Calcular d = gcd(a, n).
Si d = 1, retornar d. (Este es un factor no trivial de n)
5 Calcular am m´od n
6 Calcular e = gcd(am − 1, n)
Si e = 1, ir a 1 e incrementar B.
Si e = n, ir a 3 y cambiar a.
Si e = 1 y e = n, retornar d. (Este es un factor no trivial de n)
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
El metodo original del rsa
Algoritmo de Williams/Schmid
Algoritmo de Gordon
Descripci´on
El algoritmo planteado en el articulo original de RSA, tiene la
caracteristica de encontrar un numero P primo el cual ser´a el
menor factor de (P − 1) que ser´a el menor factor de (P − 1).
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
El metodo original del rsa
Algoritmo de Williams/Schmid
Algoritmo de Gordon
Algoritmo
1 Encontrar un primo P con un tama˜no de bits elegido.
2 Calcular P = A P + 1
Para alg´un entero A , el cual debe ser encontrado probando
los valores {2, 4, 6, 8, ...}.
3 Calcular P = A P + 1
A se obtiene de manera similar a A .
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
El metodo original del rsa
Algoritmo de Williams/Schmid
Algoritmo de Gordon
Descripci´on
En 1979, Williams y Schmid propusieron el siguiente algoritmo, es
efectivo y altamente recomendado para generar primos fuertes.
Este tambien calcula P+
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
El metodo original del rsa
Algoritmo de Williams/Schmid
Algoritmo de Gordon
Algoritmo
1 Encontrar dos primos P y P+ del tama˜no de bits elegido.
2 Calcular R = −(P )−1 m´od P+
Por tanto 0 < R < P+, La inversa de P en modulo P+ puede
ser calculada mediante el algoritmo extendido de Euclides.
3 Encontrar el menor A tal que
P = 2AP P+
+ 2RP + 1, y
P = 4AP P+
+ 4RP + 3
O encontrado P
P = 2P + 1
Hasta que sean primos.
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
El metodo original del rsa
Algoritmo de Williams/Schmid
Algoritmo de Gordon
Descripci´on
En 1984, John Gordon propuso un nuevo algoritmo para generar
primos fuertes, este es un poco m´as eficiente que el de
Williams/Schmid, debido a que no necesita calcular un P fuerte.
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
El metodo original del rsa
Algoritmo de Williams/Schmid
Algoritmo de Gordon
Algoritmo
1 Encontrar dos primos P y P+ del tama˜no de bits elegido.
2 Calcular el menor primo de la forma P = A P + 1 para
algun entero A
3 Dejar
P0 = ((P+
)P −1
− (P )P+−1
)(P P+
)
Notar que esto por el teorema de Fermat implicaria que
P0 ≡ 1 (m´od P ) y P0 ≡ −1 (m´od p+)
4 Calcular el menor primo P de la siguiente manera
P = P0 + AP P+
para algun entero A.
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
Hardware usado
CPU: AMD A8-5545M APU with Radeon(tm) HD Graphics
N´umero de nucleos: 4
Velocidad del reloj: 1.7 GHz (Sin Overclocking)
Cache L2: 4 MB
Memoria Ram: 6GB
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
Metodologia usada
Es importante mencionar que el proceso se realiz´o en un solo
nucleo y no de manera paralela.
Los c´alculos se realizaron generando n´umeros de diferentes
tama˜nos de bits: 64, 128, 256, 512, 1024, 2048.
Para tener una mayor precision en el c´alculo, se gener´o 100
n´umeros por cada generador y tama˜no de bits, luego de esto
se calcul´o la media aritmetica del tiempo total.
Para obtener una medida m´as exacta el m´etodo de evaluaci´on
se utilizar´a la funci´on gettimeofday() que en Linux brinda la
precisi´on de 10µs.
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
Tabla de tiempo de generaci´on
N. Bits No fuerte A. en RSA Williams Gordon’s
64b 0.0359229 0.161156 0.175932 0.118902
128b 0.112868 0.238891 0.339435 0.282909
256b 0.225215 0.535283 0.553583 0.515051
512b 0.261919 0.881877 0.937849 0.907238
1024b 1.03088 2.69978 2.39081 4.00394
2048b 2.13455 12.6628 20.5621 17.402
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
Grafica de tiempo de generaci´on
5
6
7
8
9
10
11
Time
Bits2x
No fuerte
RSA Method
Williams/Schmid
Gordon’s
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
Introducci´on
Generadores de primos fuertes
Comparativas
Conclusiones
Conclusiones
Debido a que de la fortaleza de los primos escogidos depende
una mayor seguridad del sistema criptogr´afico usado, es
altamente recomendable la utilizaci´on de alguno de los
m´etodos de generaci´on de primos indicados anteriormente.
Como se observa en las comparativas la generaci´on de primos
no fuertes es mucho mas rapida, pero no cuentan con las
fortalezas indicadas. Tambien se observa que el Algoritmo de
Williams/Schmid es m´as eficiente que el de Gordon y que
cuenta con una fortaleza mayor que los otros algoritmos
expuestos.
Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa

Weitere ähnliche Inhalte

Was ist angesagt?

Configurar firewall de windows para permitir el acceso a sql server segundo p...
Configurar firewall de windows para permitir el acceso a sql server segundo p...Configurar firewall de windows para permitir el acceso a sql server segundo p...
Configurar firewall de windows para permitir el acceso a sql server segundo p...Jesus Garcia Guevara
 
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web AppSubodh Garg
 
Camel Kafka Connectors: Tune Kafka to “Speak” with (Almost) Everything (Andre...
Camel Kafka Connectors: Tune Kafka to “Speak” with (Almost) Everything (Andre...Camel Kafka Connectors: Tune Kafka to “Speak” with (Almost) Everything (Andre...
Camel Kafka Connectors: Tune Kafka to “Speak” with (Almost) Everything (Andre...HostedbyConfluent
 
Building Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceBuilding Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceVMware Tanzu
 
Websphere interview Questions
Websphere interview QuestionsWebsphere interview Questions
Websphere interview Questionsgummadi1
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins PipelinesSteffen Gebert
 
Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Zhentian Wan
 
docker installation and basics
docker installation and basicsdocker installation and basics
docker installation and basicsWalid Ashraf
 
Deep dive into highly available open stack architecture openstack summit va...
Deep dive into highly available open stack architecture   openstack summit va...Deep dive into highly available open stack architecture   openstack summit va...
Deep dive into highly available open stack architecture openstack summit va...Arthur Berezin
 
Servidor DNS con IPv6 en Linux
Servidor DNS con IPv6 en LinuxServidor DNS con IPv6 en Linux
Servidor DNS con IPv6 en LinuxErick Cruz
 
Vim Editor And Basic Scripting (Ch-7)
Vim Editor And Basic Scripting (Ch-7)Vim Editor And Basic Scripting (Ch-7)
Vim Editor And Basic Scripting (Ch-7)MohsinHusenManasiya
 
Prometheus - basics
Prometheus - basicsPrometheus - basics
Prometheus - basicsJuraj Hantak
 

Was ist angesagt? (16)

Configurar firewall de windows para permitir el acceso a sql server segundo p...
Configurar firewall de windows para permitir el acceso a sql server segundo p...Configurar firewall de windows para permitir el acceso a sql server segundo p...
Configurar firewall de windows para permitir el acceso a sql server segundo p...
 
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
 
Camel Kafka Connectors: Tune Kafka to “Speak” with (Almost) Everything (Andre...
Camel Kafka Connectors: Tune Kafka to “Speak” with (Almost) Everything (Andre...Camel Kafka Connectors: Tune Kafka to “Speak” with (Almost) Everything (Andre...
Camel Kafka Connectors: Tune Kafka to “Speak” with (Almost) Everything (Andre...
 
Building Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceBuilding Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build Service
 
Websphere interview Questions
Websphere interview QuestionsWebsphere interview Questions
Websphere interview Questions
 
Introducción a VMware vSAN
Introducción a VMware vSANIntroducción a VMware vSAN
Introducción a VMware vSAN
 
Enrutamiento
EnrutamientoEnrutamiento
Enrutamiento
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines
 
Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)
 
Gtm
GtmGtm
Gtm
 
docker installation and basics
docker installation and basicsdocker installation and basics
docker installation and basics
 
Deep dive into highly available open stack architecture openstack summit va...
Deep dive into highly available open stack architecture   openstack summit va...Deep dive into highly available open stack architecture   openstack summit va...
Deep dive into highly available open stack architecture openstack summit va...
 
Servidor DNS con IPv6 en Linux
Servidor DNS con IPv6 en LinuxServidor DNS con IPv6 en Linux
Servidor DNS con IPv6 en Linux
 
Vim Editor And Basic Scripting (Ch-7)
Vim Editor And Basic Scripting (Ch-7)Vim Editor And Basic Scripting (Ch-7)
Vim Editor And Basic Scripting (Ch-7)
 
Enrutamiento avanzado mediante BGP
Enrutamiento avanzado mediante BGPEnrutamiento avanzado mediante BGP
Enrutamiento avanzado mediante BGP
 
Prometheus - basics
Prometheus - basicsPrometheus - basics
Prometheus - basics
 

Andere mochten auch

Innovacion google
Innovacion googleInnovacion google
Innovacion googleJose Benja
 
Tablas Hash Fash Vmaa
Tablas Hash Fash VmaaTablas Hash Fash Vmaa
Tablas Hash Fash Vmaavicomanuel
 
UCSP Marketing Digital
UCSP Marketing DigitalUCSP Marketing Digital
UCSP Marketing DigitalFuturo Labs
 
Crítica de la información. Scott Lash. Notas
Crítica de la información. Scott Lash. NotasCrítica de la información. Scott Lash. Notas
Crítica de la información. Scott Lash. NotasJorge Yunes
 
Arequipa valley - Arequipa esta de moda
Arequipa valley - Arequipa esta de modaArequipa valley - Arequipa esta de moda
Arequipa valley - Arequipa esta de modaAlfredo Gama
 
20150527_El Modelo de Innovación de Google
20150527_El Modelo de Innovación de Google20150527_El Modelo de Innovación de Google
20150527_El Modelo de Innovación de GoogleSantiago Sanz
 
Cálculo Integral en las Ciencias Biológicas
Cálculo Integral en las Ciencias BiológicasCálculo Integral en las Ciencias Biológicas
Cálculo Integral en las Ciencias BiológicasJulio Samanamud
 
Aplicaciones del cálculo a la ingeniería
Aplicaciones del cálculo a la ingenieríaAplicaciones del cálculo a la ingeniería
Aplicaciones del cálculo a la ingenieríaAbel Rivera Cervantes
 
Aplicación del Cálculo Diferencial en la Vida Diaria de un Ingeniero
Aplicación del Cálculo Diferencial en la Vida Diaria de un IngenieroAplicación del Cálculo Diferencial en la Vida Diaria de un Ingeniero
Aplicación del Cálculo Diferencial en la Vida Diaria de un Ingenieronueva-era
 
Aplicacion del calculo diferencial en la vida diaria
Aplicacion del calculo diferencial en la vida diariaAplicacion del calculo diferencial en la vida diaria
Aplicacion del calculo diferencial en la vida diariaJulio René
 

Andere mochten auch (16)

Proyecto pibap
Proyecto pibapProyecto pibap
Proyecto pibap
 
Innovacion google
Innovacion googleInnovacion google
Innovacion google
 
Leccion02 rsa v3 crypt4you
Leccion02 rsa v3 crypt4youLeccion02 rsa v3 crypt4you
Leccion02 rsa v3 crypt4you
 
Plan Curricular 2006 De Ingenieria Informatica
Plan Curricular 2006 De Ingenieria InformaticaPlan Curricular 2006 De Ingenieria Informatica
Plan Curricular 2006 De Ingenieria Informatica
 
Tablas Hash Fash Vmaa
Tablas Hash Fash VmaaTablas Hash Fash Vmaa
Tablas Hash Fash Vmaa
 
UCSP Marketing Digital
UCSP Marketing DigitalUCSP Marketing Digital
UCSP Marketing Digital
 
Crítica de la información. Scott Lash. Notas
Crítica de la información. Scott Lash. NotasCrítica de la información. Scott Lash. Notas
Crítica de la información. Scott Lash. Notas
 
Generating random primes
Generating random primesGenerating random primes
Generating random primes
 
Arequipa valley - Arequipa esta de moda
Arequipa valley - Arequipa esta de modaArequipa valley - Arequipa esta de moda
Arequipa valley - Arequipa esta de moda
 
20150527_El Modelo de Innovación de Google
20150527_El Modelo de Innovación de Google20150527_El Modelo de Innovación de Google
20150527_El Modelo de Innovación de Google
 
Cálculo Integral en las Ciencias Biológicas
Cálculo Integral en las Ciencias BiológicasCálculo Integral en las Ciencias Biológicas
Cálculo Integral en las Ciencias Biológicas
 
Aplicaciones del cálculo a la ingeniería
Aplicaciones del cálculo a la ingenieríaAplicaciones del cálculo a la ingeniería
Aplicaciones del cálculo a la ingeniería
 
Aplicación del Cálculo Diferencial en la Vida Diaria de un Ingeniero
Aplicación del Cálculo Diferencial en la Vida Diaria de un IngenieroAplicación del Cálculo Diferencial en la Vida Diaria de un Ingeniero
Aplicación del Cálculo Diferencial en la Vida Diaria de un Ingeniero
 
Aplicaciones del calculo integral
Aplicaciones del calculo integralAplicaciones del calculo integral
Aplicaciones del calculo integral
 
Aplicacion del calculo diferencial en la vida diaria
Aplicacion del calculo diferencial en la vida diariaAplicacion del calculo diferencial en la vida diaria
Aplicacion del calculo diferencial en la vida diaria
 
Fermentación
FermentaciónFermentación
Fermentación
 

Ähnlich wie Generación de números primos fuertes para criptografía

Simulacion de pi - monte carlo - buffon java
Simulacion de pi - monte carlo - buffon  javaSimulacion de pi - monte carlo - buffon  java
Simulacion de pi - monte carlo - buffon javaNestor Paucar Carhuatanta
 
04_Numeros_Aletorios.ppt
04_Numeros_Aletorios.ppt04_Numeros_Aletorios.ppt
04_Numeros_Aletorios.pptRubnAncco
 
Que son los numeros aleatorios numeros aleatorios
Que son los numeros aleatorios numeros aleatoriosQue son los numeros aleatorios numeros aleatorios
Que son los numeros aleatorios numeros aleatoriosssusere538f7
 
Número primo fuerte
Número primo fuerteNúmero primo fuerte
Número primo fuerteG Hoyos A
 
20 algoritmos
20 algoritmos20 algoritmos
20 algoritmosdiego
 
Informatica ii-bien-paquini
Informatica ii-bien-paquiniInformatica ii-bien-paquini
Informatica ii-bien-paquinivanebel1996
 
Capítulo 6: Criptografía de clave pública
Capítulo 6: Criptografía de clave públicaCapítulo 6: Criptografía de clave pública
Capítulo 6: Criptografía de clave públicaJuan Manuel García
 
01 algoritmos
01 algoritmos01 algoritmos
01 algoritmosCarlos
 
01 algoritmos
01 algoritmos01 algoritmos
01 algoritmosCarlos
 
01 algoritmos
01 algoritmos01 algoritmos
01 algoritmosCarlos
 
Up encriptacion publica v1.2
Up encriptacion publica v1.2Up encriptacion publica v1.2
Up encriptacion publica v1.2Meme delaTower
 
Criptografia con curvas elipticas
Criptografia con curvas elipticasCriptografia con curvas elipticas
Criptografia con curvas elipticasBryan Huertas
 
Itamaracá: Nueva Manera Sencilla de Generar Números Pseudoaleatorios
Itamaracá: Nueva Manera Sencilla de Generar Números PseudoaleatoriosItamaracá: Nueva Manera Sencilla de Generar Números Pseudoaleatorios
Itamaracá: Nueva Manera Sencilla de Generar Números PseudoaleatoriosDH Pereira
 

Ähnlich wie Generación de números primos fuertes para criptografía (20)

Simulacion de pi - monte carlo - buffon java
Simulacion de pi - monte carlo - buffon  javaSimulacion de pi - monte carlo - buffon  java
Simulacion de pi - monte carlo - buffon java
 
04_Numeros_Aletorios.ppt
04_Numeros_Aletorios.ppt04_Numeros_Aletorios.ppt
04_Numeros_Aletorios.ppt
 
Que son los numeros aleatorios numeros aleatorios
Que son los numeros aleatorios numeros aleatoriosQue son los numeros aleatorios numeros aleatorios
Que son los numeros aleatorios numeros aleatorios
 
Número primo fuerte
Número primo fuerteNúmero primo fuerte
Número primo fuerte
 
Módulo 3
Módulo 3Módulo 3
Módulo 3
 
Numeros pseudoaleatorios
Numeros pseudoaleatoriosNumeros pseudoaleatorios
Numeros pseudoaleatorios
 
Crypt4you. Leccion02 curso rsa
Crypt4you. Leccion02 curso rsa Crypt4you. Leccion02 curso rsa
Crypt4you. Leccion02 curso rsa
 
Aritmetica
AritmeticaAritmetica
Aritmetica
 
20 algoritmos
20 algoritmos20 algoritmos
20 algoritmos
 
Informatica ii-bien-paquini
Informatica ii-bien-paquiniInformatica ii-bien-paquini
Informatica ii-bien-paquini
 
Módulo 2
Módulo 2Módulo 2
Módulo 2
 
Capítulo 6: Criptografía de clave pública
Capítulo 6: Criptografía de clave públicaCapítulo 6: Criptografía de clave pública
Capítulo 6: Criptografía de clave pública
 
01 algoritmos
01 algoritmos01 algoritmos
01 algoritmos
 
01 algoritmos
01 algoritmos01 algoritmos
01 algoritmos
 
01 algoritmos
01 algoritmos01 algoritmos
01 algoritmos
 
ALGORITMOS
ALGORITMOSALGORITMOS
ALGORITMOS
 
Up encriptacion publica v1.2
Up encriptacion publica v1.2Up encriptacion publica v1.2
Up encriptacion publica v1.2
 
Criptografia con curvas elipticas
Criptografia con curvas elipticasCriptografia con curvas elipticas
Criptografia con curvas elipticas
 
Itamaracá: Nueva Manera Sencilla de Generar Números Pseudoaleatorios
Itamaracá: Nueva Manera Sencilla de Generar Números PseudoaleatoriosItamaracá: Nueva Manera Sencilla de Generar Números Pseudoaleatorios
Itamaracá: Nueva Manera Sencilla de Generar Números Pseudoaleatorios
 
Fundamento de Algoritmos
Fundamento de AlgoritmosFundamento de Algoritmos
Fundamento de Algoritmos
 

Kürzlich hochgeladen

calculo aplicado a la fisica 3 .pdf
calculo  aplicado  a  la  fisica  3 .pdfcalculo  aplicado  a  la  fisica  3 .pdf
calculo aplicado a la fisica 3 .pdfRolandPisfilLLuenGor
 
propiedades y clasificacion de los materiales metalicos
propiedades y clasificacion de los materiales metalicospropiedades y clasificacion de los materiales metalicos
propiedades y clasificacion de los materiales metalicosOmarazahiSalinasLpez
 
CEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptx
CEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptxCEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptx
CEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptxfranciscofernandez106395
 
Presentación digital Sobre ecosistemas, la selva
Presentación digital Sobre ecosistemas, la selvaPresentación digital Sobre ecosistemas, la selva
Presentación digital Sobre ecosistemas, la selvajesusvelazquez601
 
INTRODUCCIÓN A LAS DISPENSACIONES abril 2024.pdf
INTRODUCCIÓN A LAS DISPENSACIONES abril 2024.pdfINTRODUCCIÓN A LAS DISPENSACIONES abril 2024.pdf
INTRODUCCIÓN A LAS DISPENSACIONES abril 2024.pdfGuillermoCamino4
 
Zambrano, R. - Historia mínima de la música en Occidente [2013].pdf
Zambrano, R. - Historia mínima de la música en Occidente [2013].pdfZambrano, R. - Historia mínima de la música en Occidente [2013].pdf
Zambrano, R. - Historia mínima de la música en Occidente [2013].pdffrank0071
 
Nomenclatura de los compuestos llamados ácidos (1).pdf
Nomenclatura de los compuestos llamados ácidos (1).pdfNomenclatura de los compuestos llamados ácidos (1).pdf
Nomenclatura de los compuestos llamados ácidos (1).pdfJosuAlexanderHernnde
 
fisilogia y anatomia del oido y el equilibrio
fisilogia y anatomia del oido y el equilibriofisilogia y anatomia del oido y el equilibrio
fisilogia y anatomia del oido y el equilibrioyanezevelyn0
 
Mapa-de-la-Republica-Mexicana-con-nombres-para-imprimir.pdf
Mapa-de-la-Republica-Mexicana-con-nombres-para-imprimir.pdfMapa-de-la-Republica-Mexicana-con-nombres-para-imprimir.pdf
Mapa-de-la-Republica-Mexicana-con-nombres-para-imprimir.pdfnicolasdiaz334973
 
Jabón de vainilla: beneficios, usos y propiedades
Jabón de vainilla: beneficios, usos y propiedadesJabón de vainilla: beneficios, usos y propiedades
Jabón de vainilla: beneficios, usos y propiedadesweb jabon
 
Hipertensión Arterial-actualización 2024.pptx
Hipertensión Arterial-actualización 2024.pptxHipertensión Arterial-actualización 2024.pptx
Hipertensión Arterial-actualización 2024.pptxtaniaraujoa
 
PANCREATITIS-PIA-SCA aguda-edematosa y cronica
PANCREATITIS-PIA-SCA aguda-edematosa y cronicaPANCREATITIS-PIA-SCA aguda-edematosa y cronica
PANCREATITIS-PIA-SCA aguda-edematosa y cronicaVictorInca
 
CULTURA TIAHUANACO-culturas peruanas.pptx
CULTURA TIAHUANACO-culturas peruanas.pptxCULTURA TIAHUANACO-culturas peruanas.pptx
CULTURA TIAHUANACO-culturas peruanas.pptx2021370019
 
Hugo Ruiz - Principios de la Agricultura Sintropica.pptx
Hugo Ruiz - Principios de la Agricultura Sintropica.pptxHugo Ruiz - Principios de la Agricultura Sintropica.pptx
Hugo Ruiz - Principios de la Agricultura Sintropica.pptxhugoenriqueruizchaco1
 
Escoliosis (1).ppt presentación 2022 nuevo
Escoliosis (1).ppt presentación 2022 nuevoEscoliosis (1).ppt presentación 2022 nuevo
Escoliosis (1).ppt presentación 2022 nuevoFabielyCanaan1
 
Irrigacion e Inervacion de la articulación mandibular
Irrigacion e Inervacion de la articulación mandibularIrrigacion e Inervacion de la articulación mandibular
Irrigacion e Inervacion de la articulación mandibularAdrinCrdenas9
 
PARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidad
PARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidadPARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidad
PARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidadeumartinezvete
 
CUADERNILLO DE RESPUESTAS DEL TEST DE BOSTON FORMATO ABREVIADO
CUADERNILLO DE RESPUESTAS DEL TEST DE BOSTON FORMATO ABREVIADOCUADERNILLO DE RESPUESTAS DEL TEST DE BOSTON FORMATO ABREVIADO
CUADERNILLO DE RESPUESTAS DEL TEST DE BOSTON FORMATO ABREVIADOCONSTANZAALEJANDRAMU3
 
Virus del dengue perú 2024 diagnostico,manejo,
Virus del dengue perú 2024 diagnostico,manejo,Virus del dengue perú 2024 diagnostico,manejo,
Virus del dengue perú 2024 diagnostico,manejo,KiaraIbaezParedes
 
Lentes y espejos: aplicaciones desde la física
Lentes y espejos: aplicaciones desde la físicaLentes y espejos: aplicaciones desde la física
Lentes y espejos: aplicaciones desde la físicaXavierCrdenasGarca
 

Kürzlich hochgeladen (20)

calculo aplicado a la fisica 3 .pdf
calculo  aplicado  a  la  fisica  3 .pdfcalculo  aplicado  a  la  fisica  3 .pdf
calculo aplicado a la fisica 3 .pdf
 
propiedades y clasificacion de los materiales metalicos
propiedades y clasificacion de los materiales metalicospropiedades y clasificacion de los materiales metalicos
propiedades y clasificacion de los materiales metalicos
 
CEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptx
CEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptxCEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptx
CEREBRO Y CONDUCTA ESPECIALIDAD GM_091358.pptx
 
Presentación digital Sobre ecosistemas, la selva
Presentación digital Sobre ecosistemas, la selvaPresentación digital Sobre ecosistemas, la selva
Presentación digital Sobre ecosistemas, la selva
 
INTRODUCCIÓN A LAS DISPENSACIONES abril 2024.pdf
INTRODUCCIÓN A LAS DISPENSACIONES abril 2024.pdfINTRODUCCIÓN A LAS DISPENSACIONES abril 2024.pdf
INTRODUCCIÓN A LAS DISPENSACIONES abril 2024.pdf
 
Zambrano, R. - Historia mínima de la música en Occidente [2013].pdf
Zambrano, R. - Historia mínima de la música en Occidente [2013].pdfZambrano, R. - Historia mínima de la música en Occidente [2013].pdf
Zambrano, R. - Historia mínima de la música en Occidente [2013].pdf
 
Nomenclatura de los compuestos llamados ácidos (1).pdf
Nomenclatura de los compuestos llamados ácidos (1).pdfNomenclatura de los compuestos llamados ácidos (1).pdf
Nomenclatura de los compuestos llamados ácidos (1).pdf
 
fisilogia y anatomia del oido y el equilibrio
fisilogia y anatomia del oido y el equilibriofisilogia y anatomia del oido y el equilibrio
fisilogia y anatomia del oido y el equilibrio
 
Mapa-de-la-Republica-Mexicana-con-nombres-para-imprimir.pdf
Mapa-de-la-Republica-Mexicana-con-nombres-para-imprimir.pdfMapa-de-la-Republica-Mexicana-con-nombres-para-imprimir.pdf
Mapa-de-la-Republica-Mexicana-con-nombres-para-imprimir.pdf
 
Jabón de vainilla: beneficios, usos y propiedades
Jabón de vainilla: beneficios, usos y propiedadesJabón de vainilla: beneficios, usos y propiedades
Jabón de vainilla: beneficios, usos y propiedades
 
Hipertensión Arterial-actualización 2024.pptx
Hipertensión Arterial-actualización 2024.pptxHipertensión Arterial-actualización 2024.pptx
Hipertensión Arterial-actualización 2024.pptx
 
PANCREATITIS-PIA-SCA aguda-edematosa y cronica
PANCREATITIS-PIA-SCA aguda-edematosa y cronicaPANCREATITIS-PIA-SCA aguda-edematosa y cronica
PANCREATITIS-PIA-SCA aguda-edematosa y cronica
 
CULTURA TIAHUANACO-culturas peruanas.pptx
CULTURA TIAHUANACO-culturas peruanas.pptxCULTURA TIAHUANACO-culturas peruanas.pptx
CULTURA TIAHUANACO-culturas peruanas.pptx
 
Hugo Ruiz - Principios de la Agricultura Sintropica.pptx
Hugo Ruiz - Principios de la Agricultura Sintropica.pptxHugo Ruiz - Principios de la Agricultura Sintropica.pptx
Hugo Ruiz - Principios de la Agricultura Sintropica.pptx
 
Escoliosis (1).ppt presentación 2022 nuevo
Escoliosis (1).ppt presentación 2022 nuevoEscoliosis (1).ppt presentación 2022 nuevo
Escoliosis (1).ppt presentación 2022 nuevo
 
Irrigacion e Inervacion de la articulación mandibular
Irrigacion e Inervacion de la articulación mandibularIrrigacion e Inervacion de la articulación mandibular
Irrigacion e Inervacion de la articulación mandibular
 
PARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidad
PARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidadPARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidad
PARTES y Anatomía de la ESCÁPULA.descrpcion, fncinalidad
 
CUADERNILLO DE RESPUESTAS DEL TEST DE BOSTON FORMATO ABREVIADO
CUADERNILLO DE RESPUESTAS DEL TEST DE BOSTON FORMATO ABREVIADOCUADERNILLO DE RESPUESTAS DEL TEST DE BOSTON FORMATO ABREVIADO
CUADERNILLO DE RESPUESTAS DEL TEST DE BOSTON FORMATO ABREVIADO
 
Virus del dengue perú 2024 diagnostico,manejo,
Virus del dengue perú 2024 diagnostico,manejo,Virus del dengue perú 2024 diagnostico,manejo,
Virus del dengue perú 2024 diagnostico,manejo,
 
Lentes y espejos: aplicaciones desde la física
Lentes y espejos: aplicaciones desde la físicaLentes y espejos: aplicaciones desde la física
Lentes y espejos: aplicaciones desde la física
 

Generación de números primos fuertes para criptografía

  • 1. Introducci´on Generadores de primos fuertes Comparativas Conclusiones Generaci´on de n´umeros primos fuertes para criptograf´ıa Juan Alfredo Salas Santillana Escuela de Ciencia de la Computaci´on Universidad Cat´olica San Pablo 4 de julio de 2014 Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 2. Introducci´on Generadores de primos fuertes Comparativas Conclusiones Outline 1 Introducci´on 2 Generadores de primos fuertes El metodo original del rsa Algoritmo de Williams/Schmid Algoritmo de Gordon 3 Comparativas 4 Conclusiones Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 3. Introducci´on Generadores de primos fuertes Comparativas Conclusiones Algunas definiciones N´umero primo: Es un entero mayor que 1 que tiene ´unicamente dos divisores distintos: ´el mismo y el 1 |Q| es el tama˜no en bits de Q. Criba de Erat´ostenes: Algoritmo que permite hallar todos los n´umeros primos menores que un n´umero natural dado n Test de primalidad: Algoritmo que, dado un n´umero de entrada n, no consigue verificar la hip´otesis de un teorema cuya conclusi´on es que n es compuesto. Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 4. Introducci´on Generadores de primos fuertes Comparativas Conclusiones Qu´e es un primo fuerte Un n´umero primo fuerte es aquel que cumple las siguientes caracter´ısticas: |P| debe ser grande (Actualmente se propone 2048 bits o m´as). El mayor factor de P − 1, llamado P debe cumplir que |P | sea grande. El mayor factor de P − 1, llamado P debe cumplir que |P | sea grande. El mayor factor de P + 1, llamado P+ debe cumplir que |P+| sea grande. Estas definiciones pueden variar en la diversa literatura, segun el autor. Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 5. Introducci´on Generadores de primos fuertes Comparativas Conclusiones Espiral de Ulam La espiral de Ulam, descrita por el matem´atico polaco-estadounidense Stanislaw Marcin Ulam (1909-1984), es una forma de representaci´on gr´afica de n´umeros primos que muestra un patr´on. Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 6. Introducci´on Generadores de primos fuertes Comparativas Conclusiones Test de primalidad Miller-Rabin Dado n un primo mayor a 1 impar del cual queremos saber si es primo o no. Sea m un valor impar tal que n − 1 = 2km y a tal que 2 ≤ a ≤ n − 2, Cuando se cumple: am ≡ ±1 m´od n o a2r m ≡ −1 m´od n Para al menos un r entero tal que 1 ≤ r ≤ k − 1, se considera que n es un probable primo; en caso contrario n no puede ser primo. Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 7. Introducci´on Generadores de primos fuertes Comparativas Conclusiones Generador de primos aleatorios Este algoritmo es una implementaci´on propia y hace uso del generador de aleatorios URAND del sistema operativo GNU/Linux. 1 Parsear a un entero el valor aleatorio obtenido de /dev/urand y almacenarlo en A. 2 Calcular (A m´od (END − START)) + START donde END y START es el mayor y menor numero que se almacena en la cantidad de bits indicada. 3 Sumar en una unidad A. 4 Enviar A al test de primalidad de Miller-Rabin. 5 Si A es compuesto regresar al paso 3. 6 Retornar A. Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 8. Introducci´on Generadores de primos fuertes Comparativas Conclusiones Pollard P-1 El algoritmo fue desarollado por J. M. Pollard en los 70, el m´etodo basicamente usa alguna informaci´on acerca del orden de un elemento en el grupo Zp para encontrar un factor p de N El Algoritmo hace uso del Teorema de Fermat el cual indica, Dado un primo p y un a ∈ Z tal que p a entonces ap−1 ≡ 1 m´od p. Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 9. Introducci´on Generadores de primos fuertes Comparativas Conclusiones Pollard P-1 1 Seleccionar un limite superior para B (Usualmente 105 y 106) 2 Calcular m = lcm(B), Puede ser calculado mediante la multiplicatoria de los primos generados mediante la Criba de Erat´ostenes. 3 Seleccionar un entero aleatorio positivo entre 1 y n 4 Calcular d = gcd(a, n). Si d = 1, retornar d. (Este es un factor no trivial de n) 5 Calcular am m´od n 6 Calcular e = gcd(am − 1, n) Si e = 1, ir a 1 e incrementar B. Si e = n, ir a 3 y cambiar a. Si e = 1 y e = n, retornar d. (Este es un factor no trivial de n) Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 10. Introducci´on Generadores de primos fuertes Comparativas Conclusiones El metodo original del rsa Algoritmo de Williams/Schmid Algoritmo de Gordon Descripci´on El algoritmo planteado en el articulo original de RSA, tiene la caracteristica de encontrar un numero P primo el cual ser´a el menor factor de (P − 1) que ser´a el menor factor de (P − 1). Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 11. Introducci´on Generadores de primos fuertes Comparativas Conclusiones El metodo original del rsa Algoritmo de Williams/Schmid Algoritmo de Gordon Algoritmo 1 Encontrar un primo P con un tama˜no de bits elegido. 2 Calcular P = A P + 1 Para alg´un entero A , el cual debe ser encontrado probando los valores {2, 4, 6, 8, ...}. 3 Calcular P = A P + 1 A se obtiene de manera similar a A . Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 12. Introducci´on Generadores de primos fuertes Comparativas Conclusiones El metodo original del rsa Algoritmo de Williams/Schmid Algoritmo de Gordon Descripci´on En 1979, Williams y Schmid propusieron el siguiente algoritmo, es efectivo y altamente recomendado para generar primos fuertes. Este tambien calcula P+ Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 13. Introducci´on Generadores de primos fuertes Comparativas Conclusiones El metodo original del rsa Algoritmo de Williams/Schmid Algoritmo de Gordon Algoritmo 1 Encontrar dos primos P y P+ del tama˜no de bits elegido. 2 Calcular R = −(P )−1 m´od P+ Por tanto 0 < R < P+, La inversa de P en modulo P+ puede ser calculada mediante el algoritmo extendido de Euclides. 3 Encontrar el menor A tal que P = 2AP P+ + 2RP + 1, y P = 4AP P+ + 4RP + 3 O encontrado P P = 2P + 1 Hasta que sean primos. Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 14. Introducci´on Generadores de primos fuertes Comparativas Conclusiones El metodo original del rsa Algoritmo de Williams/Schmid Algoritmo de Gordon Descripci´on En 1984, John Gordon propuso un nuevo algoritmo para generar primos fuertes, este es un poco m´as eficiente que el de Williams/Schmid, debido a que no necesita calcular un P fuerte. Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 15. Introducci´on Generadores de primos fuertes Comparativas Conclusiones El metodo original del rsa Algoritmo de Williams/Schmid Algoritmo de Gordon Algoritmo 1 Encontrar dos primos P y P+ del tama˜no de bits elegido. 2 Calcular el menor primo de la forma P = A P + 1 para algun entero A 3 Dejar P0 = ((P+ )P −1 − (P )P+−1 )(P P+ ) Notar que esto por el teorema de Fermat implicaria que P0 ≡ 1 (m´od P ) y P0 ≡ −1 (m´od p+) 4 Calcular el menor primo P de la siguiente manera P = P0 + AP P+ para algun entero A. Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 16. Introducci´on Generadores de primos fuertes Comparativas Conclusiones Hardware usado CPU: AMD A8-5545M APU with Radeon(tm) HD Graphics N´umero de nucleos: 4 Velocidad del reloj: 1.7 GHz (Sin Overclocking) Cache L2: 4 MB Memoria Ram: 6GB Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 17. Introducci´on Generadores de primos fuertes Comparativas Conclusiones Metodologia usada Es importante mencionar que el proceso se realiz´o en un solo nucleo y no de manera paralela. Los c´alculos se realizaron generando n´umeros de diferentes tama˜nos de bits: 64, 128, 256, 512, 1024, 2048. Para tener una mayor precision en el c´alculo, se gener´o 100 n´umeros por cada generador y tama˜no de bits, luego de esto se calcul´o la media aritmetica del tiempo total. Para obtener una medida m´as exacta el m´etodo de evaluaci´on se utilizar´a la funci´on gettimeofday() que en Linux brinda la precisi´on de 10µs. Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 18. Introducci´on Generadores de primos fuertes Comparativas Conclusiones Tabla de tiempo de generaci´on N. Bits No fuerte A. en RSA Williams Gordon’s 64b 0.0359229 0.161156 0.175932 0.118902 128b 0.112868 0.238891 0.339435 0.282909 256b 0.225215 0.535283 0.553583 0.515051 512b 0.261919 0.881877 0.937849 0.907238 1024b 1.03088 2.69978 2.39081 4.00394 2048b 2.13455 12.6628 20.5621 17.402 Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 19. Introducci´on Generadores de primos fuertes Comparativas Conclusiones Grafica de tiempo de generaci´on 5 6 7 8 9 10 11 Time Bits2x No fuerte RSA Method Williams/Schmid Gordon’s Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa
  • 20. Introducci´on Generadores de primos fuertes Comparativas Conclusiones Conclusiones Debido a que de la fortaleza de los primos escogidos depende una mayor seguridad del sistema criptogr´afico usado, es altamente recomendable la utilizaci´on de alguno de los m´etodos de generaci´on de primos indicados anteriormente. Como se observa en las comparativas la generaci´on de primos no fuertes es mucho mas rapida, pero no cuentan con las fortalezas indicadas. Tambien se observa que el Algoritmo de Williams/Schmid es m´as eficiente que el de Gordon y que cuenta con una fortaleza mayor que los otros algoritmos expuestos. Juan Alfredo Salas Santillana Generaci´on de n´umeros primos fuertes para criptograf´ıa