Universidad de Panamá Facultad de Informática, Electrónica y Comunicación Licenciatura en Informática Aplicada a la Enseñanza e Implementación de Tecnologías Protección de la Información Cifrado Asimétrico con Mochilas Prof. de la Cátedra: Ing. Jenny Ríos Profesor Asistente: Ing. José A. Murillo Participante Abraham García 8-926-1592 Alvaro Núñez 8-961-174 Fabiana Navarro 8-944-523 Idelka Morris 10-710-1599 Luis Navarro 8-703-552 Panamá, 28 de octubre de 2020 Contenido Introducción ........................................................................................................................... 3 Sistemas de Cifrado Asimétrico .............................................................................................. 4 Cifrado Asimétrico de Mochilas.............................................................................................. 5 Problema de la Mochila .......................................................................................................... 6 Criptosistema de Merkle-Hellman ......................................................................................... 8 Diseño Mochila de Merkle y Hellman .................................................................................. 10 Parámetros para el Diseño de Mochilas ............................................................................... 11 Criptosistema asimétrico basado en mochilas M-H ............................................................. 12 (MerkleHellman)................................................................................................................... 12 Propiedades que deben cumplir las mochilas Secreta y Publica M-H ................................. 13 y los parámetros a / p ........................................................................................................... 13 Bibliográficas......................................................................................................................... 15 Conclusión ............................................................................................................................ 16 Introducción La criptografía es la ciencia que se encarga de proteger información para almacenarla y transmitirla por canales inseguros mientras que por criptoanálisis nos referimos al estudio del nivel de seguridad que presenta un sistema criptográfico con respecto a posibles ataques. Sistemas de Cifrado Asimétrico También son llamados sistemas de cifrado de clave pública. Este sistema de cifrado usa dos claves diferentes. Una es la clave pública y se puede enviar a cualquier persona y otra que se llama clave privada, que debe guardarse para que nadie tenga acceso a ella. Los algoritmos asimétricos encriptan y desencriptan con diferentes llaves. Los datos se encriptan con una llave pública y se desencriptan con una privada, siendo ésta su principal ventaja. Los algoritmos asimétricos, también conocidos como algoritmos de llave pública, necesitan al menos una llave de 3.000 bits para alcanzar un nivel de seguridad similar al de uno simétrico de 128 bits. Cifrado Asimétrico de Mochilas El problema de la mochila simple, también llamado problema de la mochila supercreciente, es un tipo de problema de la mochila (problema NP-completo) al que le aplican una serie de condiciones que hacen que pueda ser planteado como un problema de la suma de subconjuntos (problema NP-completo) que, si tiene solución, esta será única. Problema de la Mochila En algoritmia, el problema de la mochila, comúnmente abreviado por KP (del inglés Knapsack problem) es un problema de optimización combinatoria, es decir, que busca la mejor solución entre un conjunto de posibles soluciones a un problema. Modela una situación análoga al llenar una mochila, incapaz de soportar más de un peso determinado, con todo o parte de un conjunto de objetos, cada uno con un peso y valor específicos. Los objetos colocados en la mochila deben maximizar el valor total sin exceder el peso máximo. El problema de la mochila es uno de los 21 problemas NP-completos de Richard Karp, establecidos por el informático teórico en un famoso artículo de 1972. Ha sido intensamente estudiado desde mediados del siglo XX y se hace referencia a él en el año 1897, en un artículo de George Mathews Ballard. Si bien la formulación del problema es sencilla, su resolución es más compleja, la estructura única del problema, y el hecho de que se presente como un subproblema de otros problemas más generales, lo convierten en un problema frecuente en la investigación. El problema matemático de la mochila, referido ahora a números y no a los elementos físicos que puedan entrar en ella, se plantea como sigue: Solución al problema de la mochila Tenemos la mochila S = {20, 5, 7, 36, 13, 2} con m = 6 y el valor T = 35. Se pide encontrar una solución, si es que ésta existe. En este momento no importa que los valores de la mochila no estén ordenados. Sin hacer ningún cálculo mental, podemos recorrer todos los valores (se puede descartar el elemento S4 pues es mayor que el objetivo T) de la mochila S, bien de izquierda a derecha o al revés (da igual el sentido elegido) y restaremos el elemento i-ésimo si es menor o igual que el objetivo T en esa etapa del algoritmo y termina cuando T = 0, como se indica: S = {S1, S2, S3, S4, S5, S6} = {20, 5, 7, 36, 13, 2}; T = 35 S1=20 ¿Es menor que objetivo T=35? Sí Þ T = 35-20 = 15 S2=5 ¿Es menor que objetivo T=15? Sí Þ T = 15-5 = 10 S3=7 ¿Es menor que objetivo T=10? Sí Þ T = 10-7 = 3 S4=36 ¿Es menor que objetivo T=3? No Þ T = 3 S5=13 ¿Es menor que objetivo T=3? No Þ T = 3 S6=2 ¿Es menor que objetivo T=3? Sí Þ T = 3-2 = 1 ¹ 0 Se ha recorrido toda la mochila y no se ha encontrado solución. En cambio sí existe una solución: Criptosistema de Merkle-Hellman En 1978 Ralph Merkle y Martin Hellman proponen un sistema de cifra de clave pública denominado Mochila con Trampa de Merkle y Hellman. El algoritmo se basa en crear una mochila difícil a partir de una mochila simple de forma que el cifrado se haga con la mochila difícil y el descifrado con la mochila simple o fácil. Se puede pasar fácilmente de la mochila simple a la difícil o viceversa usando una trampa. Diseño Mochila de Merkle y Hellman Parámetros para el Diseño de Mochilas Criptosistema asimétrico basado en mochilas M-H (MerkleHellman) Cada entidad que desea comunicarse debe disponer de dos mochilas o claves una secreta y otra que se hace pública. Supongamos que un emisor desea enviar un mensaje cifrado (o criptograma) a un receptor. Los pasos a seguir son: 1) El receptor dispone de una mochila o clave secreta MS de longitud “n” formada por un conjunto de “n” valores: MS=(s1,s2,s3, . , sn) 2) El receptor elige en secreto el módulo “p” de la aritmética modular finita “p” debe ser mayor que la suma de todos los elementos de la mochila secreta. 3) El receptor crea una mochila pública MP multiplicando en secreto en aritmética módulo “p” cada valor de la mochila secreta por un valor secreto “a” que tenga inverso, a⋅a^(-1)=1 mod p, MP= =a⋅s1 mod p,a⋅s2 mod p,., a⋅sn mod p 4) Si un emisor desea enviar al receptor anterior un mensaje de “n” bits expresado en binario cifrado, M=(10101 . . .101) deberá realizar el producto interno de M con la mochila pública de receptor en cuestión MP: C = M*MP 5) Por su parte el receptor para descifrar el criptograma recibido C y obtener el mensaje original M deberá realizar el producto: M=C⋅a^(-1) mod p y comparando con su mochila secreta MS extraer el mensaje binario M. Propiedades que deben cumplir las mochilas Secreta y Publica M-H y los parámetros a / p 1) La mochila secreta, MS=(b1, b2, . .., bn) debe ser super-creciente, es decir cada término debe ser mayor que la suma de los anteriores, esto es, bi>(bi-1+...+b1) con i=1,2,.,n, (dicho de otra forma, debe estar formada por valores crecientes y cada valor no debe obtenerse sumando una combinación de los anteriores). Por ejemplo la mochila secreta: MS1=(3,6,11,30,50,105) no es super-creciente, 50=3+6+11+30 La mochila secreta: MS2=(7,9,21,121,1,750) tampoco es super-creciente pues los valores no son crecientes. En cambio: MS3=(3,8,12,25,50,121) si es super-creciente. Así mismo: MS4=(1,2,4,8,16,32,64,128,.,1024) es super-creciente. 2) El tamaño o longitud de la mochila secreta MS no debe ser múltiplo de 8 bits si se trabaja en ASCII donde el número de bits de la representación ASCII de los mensajes vale 8. Si se trabaja con sextetos no debe ser múltiplo de seis, etc. 3) La longitud de la mochila MS debe ser grande para resistir ataques por fuerza bruta. 4) Los valores que forman la mochila MS deben ser suficientemente elevados para dificultar ataques por fuerza bruta. 5) Para que la mochila sea mas segura, los dos primeros valores de la mochila pública MP “s1” y “s2” deben cumplir: mcd (s1, p) distinto de mcd (s2, p) y a su vez distintos de la unidad (es decir, el módulo “p” no debe tener factores comunes con s1 y s2; no se debe cumplir la primalidad entre ellos) para evitar un ataque de Shamir-Zippel con lo cual la mochila es mas segura. 6) Los valores “a” y “p” deben ser primos, es decir, se debe cumplir: mcd(a,p)=1 Es decir si se elige, p=198=2⋅3^2⋅11 entonces el valor menor de “a” vale 5 y su cuadrado 25. 7) El mínimo valor de “p” se obtiene como el mínimo mayor de la suma de valores de la mochila secreta MS, es decir, “p” igual a la suma de elementos de la mochila secreta más una unidad. Bibliográficas https://docplayer.es/31786631-Capitulo-13-cifrado-asimetrico-con-mochilas.html https://es.wikipedia.org/wiki/Problema_de_la_mochila_simple https://www.lawebdelprogramador.com/pdf/13501-Capitulo-13-Cifrado-Asimetrico-conMochilas.html https://fdocuments.es/document/seguridad-informatica-y-criptografia-cifradoasimetrico-con-mochilas.html https://es.slideshare.net/juancarlosbroncanotorres/criptosistema-rabin https://www.math.cinvestav.mx/publicaciones/tesis/maestria/pdf/DM-TM-2014-10-13JCDT.pdf http://sidemasters.blogspot.com/2014/12/criptografia-cifrado-asimetrico-de.html Conclusión Podemos decir que la criptografía se ha visto en la necesidad de extenderse, una necesidad que no existía en la época de las guerras cuando financiaban el estudio de la criptografía, pero que hoy se conoce como la necesidad del derecho a la privacidad. Abraham García Cifrado asimétrico es un receptor genera clave pública y clave privada que le pasa la clave pública al emisor, no es necesario que sea por otro canal. El emisor cifra utilizando clave pública y algoritmo público y entonces el receptor, que tiene la clave privada, descifra el mensaje codificado por el emisor. Álvaro Núñez El Cifrado asimétrico No necesita un nuevo canal por el que mandar la clave. Sin embargo es más lento que los simétricos, también es vulnerable a ataques criptográficos si se usa mucho, además de que hay que proteger la clave privada y llevarla para poder descifrar (no es un pass). Idelka Morris El cifrado Asimétrico de mochila fue propuesto por Merkle y Hellman en 1977 el que fue (probablemente) el primer sistema de cifrado de clave pública. Fue basado en el problema subset-sum: Dada una lista de enteros positivos (a1, a2, ..., an) y un entero positivo s, encontrar, si existe, una lista de enteros (xi, x2, ...,x7,) con xi E (QUI i n tales que ril_i xi • ai = s. El problema es NP-completo y es llamado a menudo el problema de la mochila. Luis Navarro El único sistema criptográfico basado en el problema de la mochila para el que aún no se conoce un ataque con éxito es el de ChorRivest, sin embargo el problema general subsetsum es NP-completo, pero el particular de la mochila derivada de una supercreciente no lo es. Fabiana Navarro