fbpx
Wikipedia

Problema de la mochila simple

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.

Este tipo de problemas tiene importantes aplicaciones en el mundo de la criptografía

Definición

Dados:

  • Un conjunto de m números enteros positivos S={S1, S2, ..., Sm}, ordenados de menor a mayor, donde la secuencia de los elementos cumplen la condición de que el elemento i-ésimo es mayor que la suma de los anteriores elementos (es una secuencia supercreciente). Matemáticamente
 
  • Un valor T que es el resultado de alguna de las posibles sumas de esos elementos,

Se debe encontrar S'={Sa, Sb, ..., Sj}, siendo S' el subconjunto de S cuya suma sea igual al valor T.

Resolución

La solución a este tipo de mochila es muy fácil debido a que la secuencia S es una secuencia supercreciente:

Se recorren los elementos de la mochila de mayor a menor comprobando si dicho valor es menor que T. Si es mayor, ese valor no estará en la suma y por tanto en la posición correspondiente del vector solución xi habrá un 0. En caso contrario tendrá un 1 y se continuará la resolución con los restantes elementos de la mochila para el problema T-Sj

Para este tipo de problemas, en el caso de que exista la solución, esta será única.

Aplicaciones

Clave simétrica

Un problema de la mochila simple puede usarse como clave secreta de una algoritmo de cifrado simétrico. Para ello lo que hay que hacer es representar la información que se quiera cifrar en binario y se pasa cada bit por la mochila por la secuencia de números del conjunto S. Si un bit es 1 entonces se incluye en la suma el elemento que le corresponde. Si es un 0 entonces no se incluye.

Por ejemplo sea S = {2, 4, 10, 19, 40}. Por tanto m = 5. Supongamos que quiero cifrar el mensaje M = ADIOS. Pasando el mensaje a ASCII/ANSI( A = 01000001, D = 01000100, I = 01001001, O = 01001111, S = 01010011) tenemos el mensaje (agrupo de 5 en 5 ya que m=5)

M = 01000 00101 00010 00100 10010 10011 11010 10011

Haciendo las sumas de cada quinteto obtengo

C = (4), (10+40), (19), (10), (2+19), (2+19+40), (2+4+19), (2+19+40)= 4, 50, 19, 10, 21, 61, 25, 61

Que será el mensaje cifrado.

Para descifrar es receptor, que conoce S, recibe el mensaje C y opera de forma contraria resolviendo el problema de la mochila simple para cada uno de los valores de C.

  • Para obtener como suma un 4 la solución es 01000
  • 50 -> 00101
  • 19 -> 00010
  • 10 -> 00100
  • 21 -> 10010
  • 61 -> 10011
  • 25 -> 11010
  • 61 -> 10011

Si uno todos los bits y agrupo en grupos de 8 bits (ANSI/ASCII) obtengo el mensaje original.

Esta forma de cifrar no es segura ya que es evidente que teniendo un suficientes pares, de mensaje originale y mensaje cifrado asociado, será muy fácil obtener la clave S con la que se está cifrando. Sin embargo esta forma de cifrar es muy rápida y puede será aprovechada en las aplicaciones de cifrado con clave asimétrica.

Clave asimétrica

La idea básica para usar una mochila simple en un sistema de criptografía asimétrica es conseguir una transformación secreta que transforme la mochila simple en una mochila general cuya resolución tenga un coste computacional alto. A esta mochila la llamaremos mochila tramposa. La clave pública será la mochila tramposa y con ella el emisor cifrará el mensaje de la misma forma que se hacía antes. La clave privada estará formada por los parámetros que permiten convertir el mensaje cifrado con la mochila tramposa en un mensaje cifrado con la mochila simple. Una vez obtenido esto el receptor puede descifrar el mensaje fácilmente usando la mochila simple.

En resumen, el esquema se basa en cifrar con una función unidireccional basada en un problema NP-completo (el problema de la mochila) que tienen una puerta trampa que aprovecha el receptor para descifrar el mensaje. Si no se dispone de esa puerta trampa, el proceso de descifrado, al ser un problema NP-completo, teóricamente tendría un coste computacional muy alto.

En esta idea se basa por ejemplo El criptosistema de Merkle-Hellman. Este algoritmo para hacer la transformción halla:

  • Un valor u tal que   donde   son los elementos de la mochila simple.
  • Un valor w entero tal que   (aseguramos la existencia de   en el grupo de los enteros de módulo u

La mochila tramposa se halla usando la expresión  . Hay que verificar que la mochila tramposa así obtenida no sea una mochila fácil de resolver (no siempre es así).

Para descifrar el criptograma hay que aplicar   para cada una de las sumas C obtenidas al cifrar. A continuación cada valor suma transformado hay que descifrarlo de la forma habitual con la mochila simple original, lo cual es trivial.

Bibliografía

  • Jorge Ramió Aguirre,"Aplicaciones criptográficas: libro guía de la asignatura seguridad informática". Universidad Politécnica, Escuela Universitaria de Informática. Enero 1998.


  •   Datos: Q16622196

problema, mochila, simple, problema, mochila, simple, también, llamado, problema, mochila, supercreciente, tipo, problema, mochila, problema, completo, aplican, serie, condiciones, hacen, pueda, planteado, como, problema, suma, subconjuntos, problema, completo. El problema de la mochila simple tambien 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 solucion esta sera unica Este tipo de problemas tiene importantes aplicaciones en el mundo de la criptografia Indice 1 Definicion 2 Resolucion 3 Aplicaciones 3 1 Clave simetrica 3 2 Clave asimetrica 4 BibliografiaDefinicion EditarDados Un conjunto de m numeros enteros positivos S S1 S2 Sm ordenados de menor a mayor donde la secuencia de los elementos cumplen la condicion de que el elemento i esimo es mayor que la suma de los anteriores elementos es una secuencia supercreciente Matematicamentew i gt j 1 i 1 w j i displaystyle w i gt sum j 1 i 1 w j quad forall i dd dd Un valor T que es el resultado de alguna de las posibles sumas de esos elementos Se debe encontrar S Sa Sb Sj siendo S el subconjunto de S cuya suma sea igual al valor T Resolucion EditarLa solucion a este tipo de mochila es muy facil debido a que la secuencia S es una secuencia supercreciente Se recorren los elementos de la mochila de mayor a menor comprobando si dicho valor es menor que T Si es mayor ese valor no estara en la suma y por tanto en la posicion correspondiente del vector solucion xi habra un 0 En caso contrario tendra un 1 y se continuara la resolucion con los restantes elementos de la mochila para el problema T SjPara este tipo de problemas en el caso de que exista la solucion esta sera unica Aplicaciones EditarClave simetrica Editar Un problema de la mochila simple puede usarse como clave secreta de una algoritmo de cifrado simetrico Para ello lo que hay que hacer es representar la informacion que se quiera cifrar en binario y se pasa cada bit por la mochila por la secuencia de numeros del conjunto S Si un bit es 1 entonces se incluye en la suma el elemento que le corresponde Si es un 0 entonces no se incluye Por ejemplo sea S 2 4 10 19 40 Por tanto m 5 Supongamos que quiero cifrar el mensaje M ADIOS Pasando el mensaje a ASCII ANSI A 01000001 D 01000100 I 01001001 O 01001111 S 01010011 tenemos el mensaje agrupo de 5 en 5 ya que m 5 M 01000 00101 00010 00100 10010 10011 11010 10011Haciendo las sumas de cada quinteto obtengo C 4 10 40 19 10 2 19 2 19 40 2 4 19 2 19 40 4 50 19 10 21 61 25 61Que sera el mensaje cifrado Para descifrar es receptor que conoce S recibe el mensaje C y opera de forma contraria resolviendo el problema de la mochila simple para cada uno de los valores de C Para obtener como suma un 4 la solucion es 01000 50 gt 00101 19 gt 00010 10 gt 00100 21 gt 10010 61 gt 10011 25 gt 11010 61 gt 10011Si uno todos los bits y agrupo en grupos de 8 bits ANSI ASCII obtengo el mensaje original Esta forma de cifrar no es segura ya que es evidente que teniendo un suficientes pares de mensaje originale y mensaje cifrado asociado sera muy facil obtener la clave S con la que se esta cifrando Sin embargo esta forma de cifrar es muy rapida y puede sera aprovechada en las aplicaciones de cifrado con clave asimetrica Clave asimetrica Editar La idea basica para usar una mochila simple en un sistema de criptografia asimetrica es conseguir una transformacion secreta que transforme la mochila simple en una mochila general cuya resolucion tenga un coste computacional alto A esta mochila la llamaremos mochila tramposa La clave publica sera la mochila tramposa y con ella el emisor cifrara el mensaje de la misma forma que se hacia antes La clave privada estara formada por los parametros que permiten convertir el mensaje cifrado con la mochila tramposa en un mensaje cifrado con la mochila simple Una vez obtenido esto el receptor puede descifrar el mensaje facilmente usando la mochila simple En resumen el esquema se basa en cifrar con una funcion unidireccional basada en un problema NP completo el problema de la mochila que tienen una puerta trampa que aprovecha el receptor para descifrar el mensaje Si no se dispone de esa puerta trampa el proceso de descifrado al ser un problema NP completo teoricamente tendria un coste computacional muy alto En esta idea se basa por ejemplo El criptosistema de Merkle Hellman Este algoritmo para hacer la transformcion halla Un valor u tal que u gt i 1 n S i displaystyle qquad u gt sum i 1 n S i donde S 1 S n displaystyle S 1 S n son los elementos de la mochila simple Un valor w entero tal que m c d u w 1 displaystyle qquad mcd u w 1 qquad qquad aseguramos la existencia de w 1 displaystyle w 1 en el grupo de los enteros de modulo uLa mochila tramposa se halla usando la expresion S i w S i mod u displaystyle qquad S i wS i pmod u Hay que verificar que la mochila tramposa asi obtenida no sea una mochila facil de resolver no siempre es asi Para descifrar el criptograma hay que aplicar w 1 C mod u displaystyle qquad w 1 C pmod u para cada una de las sumas C obtenidas al cifrar A continuacion cada valor suma transformado hay que descifrarlo de la forma habitual con la mochila simple original lo cual es trivial Bibliografia EditarJorge Ramio Aguirre Aplicaciones criptograficas libro guia de la asignatura seguridad informatica Universidad Politecnica Escuela Universitaria de Informatica Enero 1998 Datos Q16622196Obtenido de https es wikipedia org w index php title Problema de la mochila simple amp oldid 117485025, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos