ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Mecanismo De Proteccion


Enviado por   •  22 de Septiembre de 2014  •  3.176 Palabras (13 Páginas)  •  176 Visitas

Página 1 de 13

Calves Públicas

Para entender bien lo que trata una clave o llave pública es necesario entender el concepto de “Criptografía asimétrica”. La cual es un método que se usa un par de claves para el envío de mensajes. Ñas dos claves pertenecen a la misma persona que ha enviado un mensaje. Una clave es publica y se puede entregar a cualquier persona, la otra clave es privada y el propietario debe aguardar de modo que nadie tenga acceso a ella además, los métodos criptográficos garantizan que ese pareja de claves solo se pueden generar en vezm de modo que se pueda asumir que no es posible que dos personas hayan obtenido casualmente la misma pareja de claves.

Si el propietario del par de claves usa su clave privada para cifrar el mensaje, cualquiera puede descifrarlo utilizando su clave pública. En este caso se consigue por tanto la identificación y autentificación del remitente, ya que se sabe que sólo pudo haber sido él quien empleó su clave privada (salvo que alguien se la hubiese podido robar). Esta idea es el fundamento de la firma electrónica.

Los sistemas de cifrado de clave pública o sistemas de cifrado asimétricos se inventaron con el fin de evitar por completo el problema del intercambio de claves de los sistemas de cifrado simétricos. Con las claves públicas no es necesario que el remitente y el destinatario se pongan de acuerdo en la clave a emplear. Todo lo que se requiere es que, antes de iniciar la comunicación secreta, el remitente consiga una copia de la clave pública del destinatario. Es más, esa misma clave pública puede ser usada por cualquiera que desee comunicarse con su propietario. Por tanto, se necesitarán sólo n pares de claves por cada n personas que deseen comunicarse entre sí.

Sistema de clave publica

Los sistemas de encriptación de datos por clave publica han revolucionado el mundo de la criptografía y se han impuesto ampliamente en el mercado de las comunicaciones, la idea aunque sencilla recién surgió en la década del '70, los expertos en criptografía no logran ponerse de acuerdo en cual fue el motivo que demorara tanto el surgimiento de este tipo de sistema de encriptación.

La idea de los sistemas de clave pública es sencilla: cada usuario genera 2 (dos) claves: una publica y una privada, el usuario debe conservar su clave privada a salvo mientras que la clave pública es distribuida en forma masiva.

El juego de claves funciona de la siguiente forma: los mensajes que son encriptados con la clave pública de un usuario solo pueden ser des encriptados con la clave privada del mismo.

El algoritmo de encriptación es publico, de forma tal que cualquiera pueda encriptar un mensaje, el algoritmo de desencriptación debe de forma tal que sin la clave privada sea muy difícil desencriptar el código mientras que con la clave privada esto es una tarea sencilla. Todos los algoritmos de encriptación por clave publica se basan en algún problema en general de tipo matemático de cuyo tiempo de resolución no pueda establecerse una cota inferior.

KNAPSACKS.

El primer ejemplo sobre el cual presentaremos a los sistemas de clave publica esta basado en un problema de ingenio denominado 'el problema de la mochila'

'El problema de la mochila'

Se tiene una mochila con capacidad para "K" kilos. Además se cuenta con una lista de "n" objetos cuyos pesos se conocen y son (A1,A2,A3,...,AN). El problema consiste en seleccionar una cierta cantidad de objetos de la lista de forma tal que la mochila quede completamente llena.

Para resolver este problema no se conoce ningún método mejor que el ir probando las distintas combinaciones de objetos y ver si en alguna de ellas la mochila queda completamente llena. Si los pesos de los objetos están en un vector (A1,A2,A3,...,AN) una combinación puede escribirse como un numero binario de N bits en el cual un uno en la posición "i" indica que el elemento "i" debe estar en la mochila, un cero indica lo contrario.

Ej:

A=(3,45,6,7,21,12,9,90)

C1=(00000001)=90

C2=(10101010)=3+6+21+9=39

etc...

De esta forma se puede ver claramente que la cantidad de combinaciones a probar es 2^N siendo N el numero de elementos del vector, a este tipo de vectores lo denominaremos 'Knapsack'. Si N es un numero lo suficientemente grande (por ejemplo 300) la cantidad de combinaciones a probar es tan grande que resultaría imposible probarlas todas antes de que se termine el universo!.

Veamos como podemos construir un sistema de clave publica utilizando Knapsacks.

Empecemos por inventar un sistema de clave privada que utilice 'Knapsacks'

Dado un mensaje lo pasamos a binario y tomamos bloques de "N" bits de acuerdo al tamaño del Knapsack, sumamos los elementos del Knapsack que corresponden a los bits en 1 y el numero resultante es la codificación del bloque.

Ej: Con bloques de 8 bits y usando el código Ascii si el vector es: (3,45,6,7,21,12,9,90)

'H' = 01001000 = 45 + 21 = 66

'o' = 01101111 = 45 + 6 + 21 + 12 + 9 + 90 = 183

'l' = 01101100 = 45 + 6 + 21 + 12 = 84

'a' = 01100001 = 45 + 6 + 90 = 141

'Hola' = 66,183,84,141

Hasta ahora tenemos un método para encriptar un mensaje, la clave privada por el momento es el Knapsack, sin embargo este sistema tiene un problema: el receptor 'legal' del mensaje pese a poseer el Knapsack aun tiene que resolver el problema de la mochila para poder descifrar el mensaje, esto obviamente dista mucho de ser lo deseado. La solución consiste en simplificar el problema de la mochila utilizando un vector super-incrementante (super increasing, tradúzcanlo mejor si pueden). Un vector super-incrementante es aquel en el cual el elemento Ak es mayor a la sumatoria de todos los elementos con subíndice menor que él.

Ej: (1,3,5,11,21,44,87,175,349,701) es super-incrementante.

Con un vector super-incrementante resolver el problema de la mochila es fácil, para un cierto numero lo que hay que hacer es tomar el primer elemento del vector menor o igual al numero y poner su bit en 1, luego al número restarle el elemento y con el resultado repetir el procedimiento hasta que el número se hace cero.

Supongamos que tenemos el numero 734.

Para 734: Como 734 > 701 => el bit numero 10 es 1

734-701 = 33

Para 33: 33 > 21 => el bit 5 es 1

33-21 = 12

Para 12 : 12 > 11 => el bit 4 es 1

12-11 = 1

Para 1 : El bit 1 es 1

Luego 734=(1001100001) = 1+11+21+701

El algoritmo de desencriptado, como puede verse, es ahora muy sencillo. El problema es que el sistema sigue siendo de clave privada,

...

Descargar como (para miembros actualizados)  txt (19 Kb)  
Leer 12 páginas más »
Disponible sólo en Clubensayos.com