SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 1 / 31
Contenido
1 Problema
2 Cifrado homomórfico
3 Primera aproximación: Algoritmo RSA
4 Mejorando el sistema: Algoritmo de Paillier
5 Solución final: Esquemas SHE y FHE
6 Referencias
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 2 / 31
Contenido
1 Problema
2 Cifrado homomórfico
3 Primera aproximación: Algoritmo RSA
4 Mejorando el sistema: Algoritmo de Paillier
5 Solución final: Esquemas SHE y FHE
6 Referencias
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 3 / 31
Problema
El volumen de datos con los que una empresa trabaja no permite que esta
los almacene de forma local. Estas empresas deben recurrir a Proveedores
cloud que permitan gestionar de forma ágil y escalable estos paquetes de
información.
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 4 / 31
Problemática
Dado un dataset, el objetivo es poder analizarlo de una forma segura. Por
tanto, podemos dividir el problema en dos fases:
1. Encontrar una forma de guardar los datos de forma segura
2. Encontrar una forma de procesar los datos
En este caso, GMV pone a nuestra disposición un dataset de pacientes con
cáncer de pulmón: https://www.kaggle.com/datasets/mysarahmadbhat/
lung-cancer para poner en práctica la solución que vamos a plantear.
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 5 / 31
Contenido
1 Problema
2 Cifrado homomórfico
3 Primera aproximación: Algoritmo RSA
4 Mejorando el sistema: Algoritmo de Paillier
5 Solución final: Esquemas SHE y FHE
6 Referencias
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 6 / 31
Cifrado homomórfico
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 7 / 31
Cifrado homomórfico
Se dice que un sistema de cifrado es homomórfico si es capaz de realizar
una operación algebraica concreta sobre un texto claro, equivalente a otra
operación algebraica (no necesariamente la misma) sobre el resultado cifrado
de ese texto original. Es decir, si denotamos por E a una supuesta función
que cifra mensajes, tendríamos:
E(m1 ◦ m2) = E(m1) ∗ E(m2)
donde ◦ y ∗ son dichos operadores.
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 8 / 31
Contenido
1 Problema
2 Cifrado homomórfico
3 Primera aproximación: Algoritmo RSA
4 Mejorando el sistema: Algoritmo de Paillier
5 Solución final: Esquemas SHE y FHE
6 Referencias
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 9 / 31
RSA
Componentes del método:
Clave pública: (N, e)
• N = p ·q es producto de dos primos p y q suficientemente grandes
y distintos
• e, exponente de cifrado, es un entero positivo tal que mcd(e, ϕ(N)) =
1, donde ϕ(N) = (p − 1)(q − 1) es la función ϕ de Euler
Clave privada: (N, d)
• d, exponente de descifrado, es el inverso de e módulo ϕ(N)
Con estos ingredientes ya podemos caracterizar los espacios de textos claros
y cifrados como:
M = C = (ZN)∗
que es el grupo multiplicativo de las unidades módulo N.
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 10 / 31
RSA
Y la función que habíamos denotado por E, la podemos caracterizar
mediante el isomorfismo de grupos
E : (ZN)∗
−→ (ZN)∗
m 7→ me
mod N
que permite descifrar un mensaje cifrado c mediante su inversa
D(c) = cd
mod N
Finalmente como ((ZN)∗, ·) es un grupo multiplicativo obtenemos la
propiedad deseada para el producto
E(m1 · m2) = E(m1) · E(m2)
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 11 / 31
Implementación en Python: RSA
def E_RSA(publicKey, mensaje):
n = publicKey[0]
e = publicKey[1]
return pow(mensaje, e, n)
def D_RSA(privateKey, criptotexto):
n = privateKey[0]
d = privateKey[1]
return pow(criptotexto, d, n)
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 12 / 31
Conclusión del análisis con RSA
Del análisis de los datos se desprende la siguiente tabla:
Fumador No fumador
174 135
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 13 / 31
Limitaciones RSA
Al ser un proceso determinista, el método RSA es potencialmente inseguro
para el fin que se ha propuesto.
El segundo principio de Kerckhoffs nos advierte de lo siguiente:
La efectividad del sistema no debe depender de que su diseño per-
manezca en secreto.
Los pacientes fumadores y no fumadores siempre se cifran de la misma
manera. Esto se puede traducir en que, en el peor caso, con un par de
evaluaciones obtenemos si un paciente es o no fumador. Por tanto, el
algoritmo no es seguro.
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 14 / 31
Contenido
1 Problema
2 Cifrado homomórfico
3 Primera aproximación: Algoritmo RSA
4 Mejorando el sistema: Algoritmo de Paillier
5 Solución final: Esquemas SHE y FHE
6 Referencias
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 15 / 31
Sistema de encriptación de Paillier
Se dice que un procedimiento es CPA seguro si en tiempo polinómico un
atacante no puede distinguir entre dos criptotextos partiendo de dos textos
sin cifrar elegidos por él.
Debemos buscar un algoritmo de cifrado que sea homomórfico y además
CPA seguro. Por ejemplo, el sistema de encriptación de Paillier.
Este sistema es un algoritmo asimétrico probabilístico que se utiliza en
criptografía de clave pública y fue inventado por Pascal Paillier en 1999.
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 16 / 31
Esquema de Paillier
1. Generación de claves. Se generan dos primos aleatorios p y q y se
obtiene la clave pública n = pq y la clave privada (n, ϕ(n)).
2. Cifrado. El conjunto de textos sin cifrar será Zn y el de criptotextos
(Zn2 )∗. Para cifrar un mensaje m ∈ Zn, se elige r ∈ (Zn2 )∗ al azar y
se calcula el criptotexto como
c = E(n, m) := ((1 + n)m
· rn
) mod n2
∈ (Zn2 )∗
3. Descifrado. Para descrifrar c con la clave privada (n, ϕ(n)) se hace
m = D((n, ϕ(n)), c) :=
(cϕ(n) mod n2) − 1
n
· ϕ(n)−1
mod n
donde ((cϕ(n) mod n2) − 1)/n se calcula en Z.
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 17 / 31
Esquema de Paillier
Hay que tener en cuenta que, Zn es aditivo, y (Zn2 )∗ multiplicativo.
Además, el homomorfismo de grupos se define sobre la aplicación de
descifrado
D : (Zn2 )∗
→ Zn
Por lo que, sean m1 y m2 ∈ Z, la propiedad homomórfica queda definida
por
D((n, ϕ(n), c), (c1 · c2) mod n2
) = (m1 + m2) mod n
donde:
c1 = E(n, m1), c2 = E(n, m2)
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 18 / 31
Implementación en Python: Paillier cryptosystem
def E_PAI(publicKey, mensaje):
r = randint(1, n)
nc = n**2
return pow((1+n), mensaje, nc) * pow(r, n, nc)
def D_PAI(privateKey, criptotexto):
n = privateKey[0]
phi = privateKey[1]
nc = n**2
numerador = ((pow(criptotexto, phi, nc) - 1) // n) % n
denominador = pow(phi, -1, n)
return (numerador * denominador) % n
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 19 / 31
Implementación en Python: Paillier cryptosystem
En local, dentro de nuestra empresa, podemos descrifrarlo sabiendo que la
función de descifrado obtendrá
l
X
i=0
mi mod n
Dicho número debe representar la suma de pacientes fumadores y no
fumadores de la columna SMOKING del dataset. En efecto, se obtiene 483,
resultado coherente con el estudio realizado por RSA, ya que
El total de pacientes fumadores es: 174.
El total de pacientes no fumadores es: 135.
es decir,
174 · 2 + 135 · 1 = 483
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 20 / 31
Implementación en Python: Paillier cryptosystem
Bastaría con caracterizar con 0 y 1, en vez de 1 y 2, las opciones del
dataset. De esta forma la suma representaría una de las opciones.
Por ser un homomorfismo aditivo, podemos calcular medias fácilmente. Un
estudio del dataset, asociando 0 a M (male) y 1 a F (female) desprende el
siguiente resultado
La media de edad de los pacientes de 62.7 años. De los cuales 162 son
hombres y 147 mujeres.
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 21 / 31
Limitaciones algoritmo de Paillier
El ataque que intentamos para RSA en este caso es inútil. No obstante, se
conocen formas de atacar estos sistemas permitiendo conocer, en nuestro
caso por ejemplo, si un paciente es o no fumador. Este tipo de ataques se
conocen como Ataque de Texto Cifrado Escogido o ataques CCA. Se
elegirán dos mensajes, y uno de ellos (al azar) es cifrado, el criptotexto es
entregado al atacante que intenta descifrar a cuál corresponde. El atacante,
utiliza la propiedad homomórfica y adapta su ataque según la respuesta.
“Un esquema criptográfico se dice no maleable si la probabilidad de
que el adversario encuentre dichos textos [...] no es significativa-
mente mayor que dicha probabilidad para el cifrado de una cadena
de bits x elegida al azar.”
González Vasco, 2003, p.26
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 22 / 31
Contenido
1 Problema
2 Cifrado homomórfico
3 Primera aproximación: Algoritmo RSA
4 Mejorando el sistema: Algoritmo de Paillier
5 Solución final: Esquemas SHE y FHE
6 Referencias
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 23 / 31
Esquemas SHE y FHE
¿Existe un sistema de cifrado completamente homomórfico?
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 24 / 31
Esquemas SHE y FHE
La diferencia entre el uso de un sistema parcialmente homomórfico
(Somewhat Homomorphic Encryption o SHE) y uno completamente
homomórfico (Fully Homomorphic Encryption o FHE), es que el segundo
permite un número de operaciones no acotado.
Para la solución final se estudió el esquema Fan-Vercauteren cuyo espacio
de textos claros corresponde a Rt = Zt[x]/(xn + 1) y el de criptotextos a
Rq = Zq[x]/(xn + 1).
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 25 / 31
Esquema Fan-Vercauteren
Denotaremos R = Z[x]/(xn + 1).
Generación de clave privada: es un polinomio en R con coeficientes
en {0, 1}.
Generación de clave pública: tomando a en Rq y un error e en
función de una cierta distribución χ sobre R así
pubKey = ([−(a · s + e)]q, a) ∈ Rq × Rq
Encriptación: sea el texto claro m ∈ Rt y pk = (pk0, pk1) entonces
Enc(pk, m) = ([pko · u + e1 + ∆ · m]q, [pk1 · u + e2]q) ∈ Rq × Rq
Desencriptación: dado un criptotexto ct = Enc(pk, m) = (ct0, ct1)
se desencripta usando la clave pública sk = s según
Dec(sk, ct) =

t · [ct0 + ct1 · s]q
q

t
∈ Rt
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 26 / 31
Esquema Fan-Vercauteren
La operación homomórfica de suma viene dada por
[ct(s)]q + [ct′
(s)]q = ∆ · (m + m′
) + v + v′
[ct(s) + ct′
(s)]q = ∆ · [m + m′
]t + d mod q
donde d = v + v′ − (q − ∆ · t) · ε.
El producto requiere de una técnica intermedia llamada relinearization.
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 27 / 31
Implementación en C++
Microsoft SEAL es una librería open source de criptografía homomórfica
desarrollado por Cryptography and Privacy Research Group en Microsoft.
El código se puede encontrar en GitHub.
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 28 / 31
Contenido
1 Problema
2 Cifrado homomórfico
3 Primera aproximación: Algoritmo RSA
4 Mejorando el sistema: Algoritmo de Paillier
5 Solución final: Esquemas SHE y FHE
6 Referencias
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 29 / 31
Referencias
González Vasco, M.I. Criptosistemas basados en Teoría de grupos.
2003.
Milanov, E. The RSA algorithm. RSA laboratories, 1-11. 2009.
Pardo, J. L. G. Cifrado homomórfico: ejemplos y aplicaciones. Gaceta
de la Real Sociedad Matematica Española, 15(4), 697-712. 2012.
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 30 / 31
¡MUCHAS GRACIAS!
Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 31 / 31

Más contenido relacionado

Similar a EXTERNALIZACIÓN DE CÓMPUTO SEGURO: CRIPTOGRAFÍA HOMOMÓRFICA Y SUS APLICACIONES

Algoritmos Para Encriptar Claves
Algoritmos Para Encriptar ClavesAlgoritmos Para Encriptar Claves
Algoritmos Para Encriptar ClavesDiana Yánez
 
Metodos De Encriptacion 1
Metodos De Encriptacion 1Metodos De Encriptacion 1
Metodos De Encriptacion 1IRIS
 
Trabajo De Compu Algoritmos
Trabajo De Compu AlgoritmosTrabajo De Compu Algoritmos
Trabajo De Compu Algoritmosdennis
 
CIFRADO DE CLAVE PUBLICA Y PRIVADA
CIFRADO DE CLAVE PUBLICA Y PRIVADACIFRADO DE CLAVE PUBLICA Y PRIVADA
CIFRADO DE CLAVE PUBLICA Y PRIVADAdanyro
 
Mecanismos de seguridad en el desarrollo de aplicaciones
Mecanismos de seguridad en el desarrollo de aplicacionesMecanismos de seguridad en el desarrollo de aplicaciones
Mecanismos de seguridad en el desarrollo de aplicacionesGerardo
 
Encriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y PrivadasEncriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y PrivadasDaniel Yánez
 
Encriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y PrivadasEncriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y PrivadasDaniel Yánez
 
Encriptacion de datos, una vista general
Encriptacion de datos, una vista generalEncriptacion de datos, una vista general
Encriptacion de datos, una vista generalChristian Caceres
 
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
 

Similar a EXTERNALIZACIÓN DE CÓMPUTO SEGURO: CRIPTOGRAFÍA HOMOMÓRFICA Y SUS APLICACIONES (20)

Algoritmos Para Encriptar Claves
Algoritmos Para Encriptar ClavesAlgoritmos Para Encriptar Claves
Algoritmos Para Encriptar Claves
 
Rsa eddy montalvan
Rsa eddy montalvanRsa eddy montalvan
Rsa eddy montalvan
 
Rsa
RsaRsa
Rsa
 
cifrado de claves
cifrado de clavescifrado de claves
cifrado de claves
 
Metodos De Encriptacion 1
Metodos De Encriptacion 1Metodos De Encriptacion 1
Metodos De Encriptacion 1
 
Leccion01 rsa crypt4you
Leccion01 rsa crypt4youLeccion01 rsa crypt4you
Leccion01 rsa crypt4you
 
Trabajo De Compu Algoritmos
Trabajo De Compu AlgoritmosTrabajo De Compu Algoritmos
Trabajo De Compu Algoritmos
 
14 cifraasimetrica
14 cifraasimetrica14 cifraasimetrica
14 cifraasimetrica
 
Leccion01 rsa crypt4you -V2
Leccion01 rsa crypt4you -V2Leccion01 rsa crypt4you -V2
Leccion01 rsa crypt4you -V2
 
CIFRADO DE CLAVE PUBLICA Y PRIVADA
CIFRADO DE CLAVE PUBLICA Y PRIVADACIFRADO DE CLAVE PUBLICA Y PRIVADA
CIFRADO DE CLAVE PUBLICA Y PRIVADA
 
claves de seguridad
claves de seguridadclaves de seguridad
claves de seguridad
 
Mecanismos de seguridad en el desarrollo de aplicaciones
Mecanismos de seguridad en el desarrollo de aplicacionesMecanismos de seguridad en el desarrollo de aplicaciones
Mecanismos de seguridad en el desarrollo de aplicaciones
 
algorimos claves publicas y privadas
algorimos claves publicas y privadasalgorimos claves publicas y privadas
algorimos claves publicas y privadas
 
poco de encriptacion
poco de encriptacionpoco de encriptacion
poco de encriptacion
 
Leccion04 rsa crypt4you
Leccion04 rsa crypt4youLeccion04 rsa crypt4you
Leccion04 rsa crypt4you
 
Encriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y PrivadasEncriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y Privadas
 
Encriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y PrivadasEncriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y Privadas
 
Encriptacion de datos, una vista general
Encriptacion de datos, una vista generalEncriptacion de datos, una vista general
Encriptacion de datos, una vista general
 
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
 
Crypt4you. Leccion02 curso rsa
Crypt4you. Leccion02 curso rsa Crypt4you. Leccion02 curso rsa
Crypt4you. Leccion02 curso rsa
 

Último

llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllJulietaCarbajalOsis
 
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptx
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptxP.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptx
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptxJafetColli
 
presentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.pptpresentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.pptMelina Alama Visitacion
 
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docxAA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docxLuisAngelYomonaYomon
 
Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOJuan Carlos Fonseca Mata
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
Novelas Turcas vs Series de EUA en audiencia  (2024).pdfNovelas Turcas vs Series de EUA en audiencia  (2024).pdf
Novelas Turcas vs Series de EUA en audiencia (2024).pdfJC Díaz Herrera
 
metodo SOAP utilizado para evaluar el estado de un paciente
metodo SOAP utilizado para evaluar el estado de un pacientemetodo SOAP utilizado para evaluar el estado de un paciente
metodo SOAP utilizado para evaluar el estado de un pacienteMedicinaInternaresid1
 
Conversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latinoConversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latinoBESTTech1
 
Cesar Vilchis Vieyra Cesar Vilchis Vieyra
Cesar Vilchis Vieyra  Cesar Vilchis VieyraCesar Vilchis Vieyra  Cesar Vilchis Vieyra
Cesar Vilchis Vieyra Cesar Vilchis Vieyraestudiantes2010
 
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILASistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILAsofiagomez288291
 
Los idiomas más hablados en el mundo (2024).pdf
Los idiomas más hablados en el mundo  (2024).pdfLos idiomas más hablados en el mundo  (2024).pdf
Los idiomas más hablados en el mundo (2024).pdfJC Díaz Herrera
 
Los países por porcentaje de población blanca europea en AL (2024).pdf
Los países por porcentaje de población blanca europea en AL (2024).pdfLos países por porcentaje de población blanca europea en AL (2024).pdf
Los países por porcentaje de población blanca europea en AL (2024).pdfJC Díaz Herrera
 
PLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorarPLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorarCelesteRolon2
 
El Manierismo. El Manierismo
El Manierismo.              El ManierismoEl Manierismo.              El Manierismo
El Manierismo. El Manierismofariannys5
 
Presentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdfPresentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdfDodiAcuaArstica
 
COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .GIANELAKAINACHALLCOJ2
 
Metodos de esterilizacion _20240418_181249_0000.pdf
Metodos de esterilizacion _20240418_181249_0000.pdfMetodos de esterilizacion _20240418_181249_0000.pdf
Metodos de esterilizacion _20240418_181249_0000.pdfarteagaara
 
Evolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfEvolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfJC Díaz Herrera
 
Trabajo Final de Powerbi DMC Indicadores.pptx
Trabajo Final de Powerbi DMC Indicadores.pptxTrabajo Final de Powerbi DMC Indicadores.pptx
Trabajo Final de Powerbi DMC Indicadores.pptxlleonm
 

Último (20)

llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllllllllllllllllllllll
 
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptx
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptxP.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptx
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptx
 
presentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.pptpresentacion de conjuntos para primaria.ppt
presentacion de conjuntos para primaria.ppt
 
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docxAA CUADRO DE TEORIA DEL CASO. (1) (1).docx
AA CUADRO DE TEORIA DEL CASO. (1) (1).docx
 
Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATO
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
Novelas Turcas vs Series de EUA en audiencia  (2024).pdfNovelas Turcas vs Series de EUA en audiencia  (2024).pdf
Novelas Turcas vs Series de EUA en audiencia (2024).pdf
 
metodo SOAP utilizado para evaluar el estado de un paciente
metodo SOAP utilizado para evaluar el estado de un pacientemetodo SOAP utilizado para evaluar el estado de un paciente
metodo SOAP utilizado para evaluar el estado de un paciente
 
Conversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latinoConversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latino
 
Cesar Vilchis Vieyra Cesar Vilchis Vieyra
Cesar Vilchis Vieyra  Cesar Vilchis VieyraCesar Vilchis Vieyra  Cesar Vilchis Vieyra
Cesar Vilchis Vieyra Cesar Vilchis Vieyra
 
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILASistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
 
Los idiomas más hablados en el mundo (2024).pdf
Los idiomas más hablados en el mundo  (2024).pdfLos idiomas más hablados en el mundo  (2024).pdf
Los idiomas más hablados en el mundo (2024).pdf
 
Los países por porcentaje de población blanca europea en AL (2024).pdf
Los países por porcentaje de población blanca europea en AL (2024).pdfLos países por porcentaje de población blanca europea en AL (2024).pdf
Los países por porcentaje de población blanca europea en AL (2024).pdf
 
PLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorarPLAN ANUAL DE PROYECTO 2020. para mejorar
PLAN ANUAL DE PROYECTO 2020. para mejorar
 
El Manierismo. El Manierismo
El Manierismo.              El ManierismoEl Manierismo.              El Manierismo
El Manierismo. El Manierismo
 
Presentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdfPresentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdf
 
COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .
 
Metodos de esterilizacion _20240418_181249_0000.pdf
Metodos de esterilizacion _20240418_181249_0000.pdfMetodos de esterilizacion _20240418_181249_0000.pdf
Metodos de esterilizacion _20240418_181249_0000.pdf
 
Evolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdfEvolución de la fortuna de la familia Slim (1994-2024).pdf
Evolución de la fortuna de la familia Slim (1994-2024).pdf
 
Trabajo Final de Powerbi DMC Indicadores.pptx
Trabajo Final de Powerbi DMC Indicadores.pptxTrabajo Final de Powerbi DMC Indicadores.pptx
Trabajo Final de Powerbi DMC Indicadores.pptx
 

EXTERNALIZACIÓN DE CÓMPUTO SEGURO: CRIPTOGRAFÍA HOMOMÓRFICA Y SUS APLICACIONES

  • 1. Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 1 / 31
  • 2. Contenido 1 Problema 2 Cifrado homomórfico 3 Primera aproximación: Algoritmo RSA 4 Mejorando el sistema: Algoritmo de Paillier 5 Solución final: Esquemas SHE y FHE 6 Referencias Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 2 / 31
  • 3. Contenido 1 Problema 2 Cifrado homomórfico 3 Primera aproximación: Algoritmo RSA 4 Mejorando el sistema: Algoritmo de Paillier 5 Solución final: Esquemas SHE y FHE 6 Referencias Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 3 / 31
  • 4. Problema El volumen de datos con los que una empresa trabaja no permite que esta los almacene de forma local. Estas empresas deben recurrir a Proveedores cloud que permitan gestionar de forma ágil y escalable estos paquetes de información. Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 4 / 31
  • 5. Problemática Dado un dataset, el objetivo es poder analizarlo de una forma segura. Por tanto, podemos dividir el problema en dos fases: 1. Encontrar una forma de guardar los datos de forma segura 2. Encontrar una forma de procesar los datos En este caso, GMV pone a nuestra disposición un dataset de pacientes con cáncer de pulmón: https://www.kaggle.com/datasets/mysarahmadbhat/ lung-cancer para poner en práctica la solución que vamos a plantear. Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 5 / 31
  • 6. Contenido 1 Problema 2 Cifrado homomórfico 3 Primera aproximación: Algoritmo RSA 4 Mejorando el sistema: Algoritmo de Paillier 5 Solución final: Esquemas SHE y FHE 6 Referencias Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 6 / 31
  • 7. Cifrado homomórfico Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 7 / 31
  • 8. Cifrado homomórfico Se dice que un sistema de cifrado es homomórfico si es capaz de realizar una operación algebraica concreta sobre un texto claro, equivalente a otra operación algebraica (no necesariamente la misma) sobre el resultado cifrado de ese texto original. Es decir, si denotamos por E a una supuesta función que cifra mensajes, tendríamos: E(m1 ◦ m2) = E(m1) ∗ E(m2) donde ◦ y ∗ son dichos operadores. Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 8 / 31
  • 9. Contenido 1 Problema 2 Cifrado homomórfico 3 Primera aproximación: Algoritmo RSA 4 Mejorando el sistema: Algoritmo de Paillier 5 Solución final: Esquemas SHE y FHE 6 Referencias Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 9 / 31
  • 10. RSA Componentes del método: Clave pública: (N, e) • N = p ·q es producto de dos primos p y q suficientemente grandes y distintos • e, exponente de cifrado, es un entero positivo tal que mcd(e, ϕ(N)) = 1, donde ϕ(N) = (p − 1)(q − 1) es la función ϕ de Euler Clave privada: (N, d) • d, exponente de descifrado, es el inverso de e módulo ϕ(N) Con estos ingredientes ya podemos caracterizar los espacios de textos claros y cifrados como: M = C = (ZN)∗ que es el grupo multiplicativo de las unidades módulo N. Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 10 / 31
  • 11. RSA Y la función que habíamos denotado por E, la podemos caracterizar mediante el isomorfismo de grupos E : (ZN)∗ −→ (ZN)∗ m 7→ me mod N que permite descifrar un mensaje cifrado c mediante su inversa D(c) = cd mod N Finalmente como ((ZN)∗, ·) es un grupo multiplicativo obtenemos la propiedad deseada para el producto E(m1 · m2) = E(m1) · E(m2) Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 11 / 31
  • 12. Implementación en Python: RSA def E_RSA(publicKey, mensaje): n = publicKey[0] e = publicKey[1] return pow(mensaje, e, n) def D_RSA(privateKey, criptotexto): n = privateKey[0] d = privateKey[1] return pow(criptotexto, d, n) Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 12 / 31
  • 13. Conclusión del análisis con RSA Del análisis de los datos se desprende la siguiente tabla: Fumador No fumador 174 135 Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 13 / 31
  • 14. Limitaciones RSA Al ser un proceso determinista, el método RSA es potencialmente inseguro para el fin que se ha propuesto. El segundo principio de Kerckhoffs nos advierte de lo siguiente: La efectividad del sistema no debe depender de que su diseño per- manezca en secreto. Los pacientes fumadores y no fumadores siempre se cifran de la misma manera. Esto se puede traducir en que, en el peor caso, con un par de evaluaciones obtenemos si un paciente es o no fumador. Por tanto, el algoritmo no es seguro. Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 14 / 31
  • 15. Contenido 1 Problema 2 Cifrado homomórfico 3 Primera aproximación: Algoritmo RSA 4 Mejorando el sistema: Algoritmo de Paillier 5 Solución final: Esquemas SHE y FHE 6 Referencias Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 15 / 31
  • 16. Sistema de encriptación de Paillier Se dice que un procedimiento es CPA seguro si en tiempo polinómico un atacante no puede distinguir entre dos criptotextos partiendo de dos textos sin cifrar elegidos por él. Debemos buscar un algoritmo de cifrado que sea homomórfico y además CPA seguro. Por ejemplo, el sistema de encriptación de Paillier. Este sistema es un algoritmo asimétrico probabilístico que se utiliza en criptografía de clave pública y fue inventado por Pascal Paillier en 1999. Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 16 / 31
  • 17. Esquema de Paillier 1. Generación de claves. Se generan dos primos aleatorios p y q y se obtiene la clave pública n = pq y la clave privada (n, ϕ(n)). 2. Cifrado. El conjunto de textos sin cifrar será Zn y el de criptotextos (Zn2 )∗. Para cifrar un mensaje m ∈ Zn, se elige r ∈ (Zn2 )∗ al azar y se calcula el criptotexto como c = E(n, m) := ((1 + n)m · rn ) mod n2 ∈ (Zn2 )∗ 3. Descifrado. Para descrifrar c con la clave privada (n, ϕ(n)) se hace m = D((n, ϕ(n)), c) := (cϕ(n) mod n2) − 1 n · ϕ(n)−1 mod n donde ((cϕ(n) mod n2) − 1)/n se calcula en Z. Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 17 / 31
  • 18. Esquema de Paillier Hay que tener en cuenta que, Zn es aditivo, y (Zn2 )∗ multiplicativo. Además, el homomorfismo de grupos se define sobre la aplicación de descifrado D : (Zn2 )∗ → Zn Por lo que, sean m1 y m2 ∈ Z, la propiedad homomórfica queda definida por D((n, ϕ(n), c), (c1 · c2) mod n2 ) = (m1 + m2) mod n donde: c1 = E(n, m1), c2 = E(n, m2) Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 18 / 31
  • 19. Implementación en Python: Paillier cryptosystem def E_PAI(publicKey, mensaje): r = randint(1, n) nc = n**2 return pow((1+n), mensaje, nc) * pow(r, n, nc) def D_PAI(privateKey, criptotexto): n = privateKey[0] phi = privateKey[1] nc = n**2 numerador = ((pow(criptotexto, phi, nc) - 1) // n) % n denominador = pow(phi, -1, n) return (numerador * denominador) % n Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 19 / 31
  • 20. Implementación en Python: Paillier cryptosystem En local, dentro de nuestra empresa, podemos descrifrarlo sabiendo que la función de descifrado obtendrá l X i=0 mi mod n Dicho número debe representar la suma de pacientes fumadores y no fumadores de la columna SMOKING del dataset. En efecto, se obtiene 483, resultado coherente con el estudio realizado por RSA, ya que El total de pacientes fumadores es: 174. El total de pacientes no fumadores es: 135. es decir, 174 · 2 + 135 · 1 = 483 Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 20 / 31
  • 21. Implementación en Python: Paillier cryptosystem Bastaría con caracterizar con 0 y 1, en vez de 1 y 2, las opciones del dataset. De esta forma la suma representaría una de las opciones. Por ser un homomorfismo aditivo, podemos calcular medias fácilmente. Un estudio del dataset, asociando 0 a M (male) y 1 a F (female) desprende el siguiente resultado La media de edad de los pacientes de 62.7 años. De los cuales 162 son hombres y 147 mujeres. Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 21 / 31
  • 22. Limitaciones algoritmo de Paillier El ataque que intentamos para RSA en este caso es inútil. No obstante, se conocen formas de atacar estos sistemas permitiendo conocer, en nuestro caso por ejemplo, si un paciente es o no fumador. Este tipo de ataques se conocen como Ataque de Texto Cifrado Escogido o ataques CCA. Se elegirán dos mensajes, y uno de ellos (al azar) es cifrado, el criptotexto es entregado al atacante que intenta descifrar a cuál corresponde. El atacante, utiliza la propiedad homomórfica y adapta su ataque según la respuesta. “Un esquema criptográfico se dice no maleable si la probabilidad de que el adversario encuentre dichos textos [...] no es significativa- mente mayor que dicha probabilidad para el cifrado de una cadena de bits x elegida al azar.” González Vasco, 2003, p.26 Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 22 / 31
  • 23. Contenido 1 Problema 2 Cifrado homomórfico 3 Primera aproximación: Algoritmo RSA 4 Mejorando el sistema: Algoritmo de Paillier 5 Solución final: Esquemas SHE y FHE 6 Referencias Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 23 / 31
  • 24. Esquemas SHE y FHE ¿Existe un sistema de cifrado completamente homomórfico? Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 24 / 31
  • 25. Esquemas SHE y FHE La diferencia entre el uso de un sistema parcialmente homomórfico (Somewhat Homomorphic Encryption o SHE) y uno completamente homomórfico (Fully Homomorphic Encryption o FHE), es que el segundo permite un número de operaciones no acotado. Para la solución final se estudió el esquema Fan-Vercauteren cuyo espacio de textos claros corresponde a Rt = Zt[x]/(xn + 1) y el de criptotextos a Rq = Zq[x]/(xn + 1). Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 25 / 31
  • 26. Esquema Fan-Vercauteren Denotaremos R = Z[x]/(xn + 1). Generación de clave privada: es un polinomio en R con coeficientes en {0, 1}. Generación de clave pública: tomando a en Rq y un error e en función de una cierta distribución χ sobre R así pubKey = ([−(a · s + e)]q, a) ∈ Rq × Rq Encriptación: sea el texto claro m ∈ Rt y pk = (pk0, pk1) entonces Enc(pk, m) = ([pko · u + e1 + ∆ · m]q, [pk1 · u + e2]q) ∈ Rq × Rq Desencriptación: dado un criptotexto ct = Enc(pk, m) = (ct0, ct1) se desencripta usando la clave pública sk = s según Dec(sk, ct) = t · [ct0 + ct1 · s]q q t ∈ Rt Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 26 / 31
  • 27. Esquema Fan-Vercauteren La operación homomórfica de suma viene dada por [ct(s)]q + [ct′ (s)]q = ∆ · (m + m′ ) + v + v′ [ct(s) + ct′ (s)]q = ∆ · [m + m′ ]t + d mod q donde d = v + v′ − (q − ∆ · t) · ε. El producto requiere de una técnica intermedia llamada relinearization. Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 27 / 31
  • 28. Implementación en C++ Microsoft SEAL es una librería open source de criptografía homomórfica desarrollado por Cryptography and Privacy Research Group en Microsoft. El código se puede encontrar en GitHub. Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 28 / 31
  • 29. Contenido 1 Problema 2 Cifrado homomórfico 3 Primera aproximación: Algoritmo RSA 4 Mejorando el sistema: Algoritmo de Paillier 5 Solución final: Esquemas SHE y FHE 6 Referencias Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 29 / 31
  • 30. Referencias González Vasco, M.I. Criptosistemas basados en Teoría de grupos. 2003. Milanov, E. The RSA algorithm. RSA laboratories, 1-11. 2009. Pardo, J. L. G. Cifrado homomórfico: ejemplos y aplicaciones. Gaceta de la Real Sociedad Matematica Española, 15(4), 697-712. 2012. Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 30 / 31
  • 31. ¡MUCHAS GRACIAS! Javier López Gismeros PROBLEMA MODELIZACIÓN GMV 1 de diciembre de 2022 31 / 31