metododeencriptacionpolybiosstream-100122121234-phpapp01

Upload: jhoelgarcia

Post on 09-Jan-2016

212 views

Category:

Documents


0 download

DESCRIPTION

cifrado e incriptado

TRANSCRIPT

  • APLICACIN CON LOS MTODOS

    CLSICOS DE ENCRIPTACIN

    (POLYBIOS Y STREAM)

    Encriptacin

    Es el proceso mediante el cual cierta informacin o texto sin formato es cifrado de

    forma que el resultado sea ilegible a menos que se conozcan los datos necesarios

    para su interpretacin.

    Es una medida de seguridad utilizada para que al momento de almacenar o

    transmitir informacin sensible sta no pueda ser obtenida con facilidad por

    terceros.

    Opcionalmente puede existir adems un proceso de desencriptacin a travs del

    cual la informacin puede ser interpretada de nuevo a su estado original, aunque

    existen mtodos de encriptacin que no pueden ser revertidos.

    El trmino encriptacin es traduccin literal del ingls y no existe en el idioma

    espaol. La forma ms correcta de utilizar este trmino sera cifrado.

    Criptografa clsica

    El cifrado de textos es una actividad que ha sido ampliamente usada a lo largo de la

    historia, sobre todo en el campo militar y en aquellos otros en los que es necesario

    enviar mensajes con informacin confidencial y sensible a travs de medios no

    seguros.

    Aunque en cierta forma el sistema de jeroglficos egipcio puede considerarse ya

    una forma de criptografa (slo podan ser entendidos por personas con

    conocimientos suficientes), el primer sistema criptogrfico como tal conocido de

    debe a Julio Cesar.

  • EL CIFRADOR DE POLYBIOS Polybios ideo un sistema de cifrado por sustitucin que consista en asignar a cada

    letra del alfabeto un par de letras.

    El sistema establece una matriz de dos dimensiones de 5x5 en la que cada letra del

    alfabeto se representa por sus coordenadas dentro de la matriz. Esta matriz deber

    ser conocida tanto por el emisor como por el receptor del mensaje. Es el Cifrador por sustitucin de caracteres ms antiguo que se conoce (siglo II

    a.C.) pero duplica el tamao. Este cifrado fue realizado en la antigua Grecia, usaba

    el alfabeto Griego, pero para su utilidad ha sido adaptado a otros lenguajes.

    Existen dos tipos de matrices que se pueden utilizar en el Cifrador de

    Polybios, la primera opcin es colocando en sus dimensiones vertical y

    horizontal letras de A-E, la segunda opcin es colocando en sus dimensiones

    vertical y horizontal letras de 1-5. Sin embargo, la manera adecuada de

    utilizar este mtodo es con la segunda opcin, ya que si la hiciramos con la

    primera, el mtodo se parecera al mtodo Playfair.

    La matriz debe de ser cuadrada por lo que se trata de ubicar en la matriz

    todas las letras del abecedario, segn el lenguaje que se est utilizando.

    Un gran problema de este tipo de cifrado es que el tamao del mensaje se

    duplica, lo cual no siempre es deseable.

    ESPECIFICACIONES Y MODIFICACIONES REALIZADAS AL MTODO

    La matriz que utilizaremos para el desarrollo de nuestra aplicacin es una

    matriz con dimensin 5x5, la cual en el encabezado vertical y horizontal se

    colocarn nmeros, los mismos que representarn a los caracteres que

    sern parte del texto cifrado.

    En el encabezado vertical se colocarn nmeros impares (1, 3, 5, 7, 9), en el

    encabezado horizontal se colocarn nmeros del 1-5.

    El lenguaje que utilizaremos ser el basado en el alfabeto espaol, que

    contiene de A-Z, pero si colocamos todas las letras que correspondes a

  • dicho alfabeto no nos dara una matriz cuadrada, por lo que toda letra que

    sea j, ser sustituida por la i. En el caso de la letra , ser sustituida por

    la n. De esta manera lograremos tener una matriz cuadrada con 25

    caracteres.

    Matriz a utilizar en el desarrollo de la aplicacin:

    1 2 3 4 5

    1 a b c d E

    3 f g h i k

    5 l m n o p

    7 q r s t u

    9 v w x y z

    Como se puede observar en esta matriz ya no se colocan ni la letra j ni la

    . Puesto que se explic anteriormente que esas letras tendrn su

    correspondiente sustitucin.

    El mtodo, consiste en corresponder la letra que se desea ocultar con otras

    dos segn la fila y la columna de la matriz a la que pertenece. Por ejemplo, la

    letra a sera 11, la s sera 73.

    Cuando vamos a Encriptar un texto que contenga tanto letras como

    nmeros, el programa recibir todo el texto plano (texto a Encriptar), pero

    solo encriptar todos aquellos caracteres que sean letras, adems obviar

    los espacios en blanco.

    Cuando vamos a Desencriptar un texto Cifrado debe contener solo

    nmeros, el programa recibir todo el texto Cifrado (texto a Desencriptar),

    pero solo Desencriptar todos aquellos caracteres que sean nmeros,

    cuando se ingrese algn texto con letras se presentara un mensaje de error

    texto ilegible, adems obviar los espacios en blanco.

  • MODELO

    VARIABLES

    x= Encabezado Horizontal (1, 2, 3, 4, 5)

    y= Encabezado Vertical (1, 3, 5, 7, 9)

    A= (a, b, c, d, e, f, g, h, i, k, l ,m, n, o, p, q, r, s, t, u, v, x, y, z)

    Z=xy

    xy=A

    X Y Texto Cifrado Texto Descifrado

    Texto Plano A A Xy A

    DIAGRAMA DE SUCESOS

    ENCRIPTAR

    DESENCRIPTAR

    11

    Texto Plano Cifrar Texto CiTfrado

    POLYBIOS

    a

    a [x, y]

    Texto Cifrado Descifrar Texto Plano

    POLYBIOS

    11

    11 [x, y] a

  • EL ALGORITMO STREAM Este algoritmo se basa en la suma de valores de los caracteres del texto plano y de

    la clave. De esta forma el valor del primer carcter del texto cifrado es el de la suma

    del valor del primer carcter del texto plano y el del primero de la clave, el valor

    del segundo carcter del texto cifrado es el de la suma del segundo carcter del

    texto plano y el del segundo de la clave, etc...

    Texto plano: E S T O E S U N S E C R E T ...

    Valor: 5 20 21 16 5 20 22 14 20 5 3 19 5 21 ...

    Clave: P U E R T A P U E R T A P U ...

    Valor 17 22 5 19 21 1 17 22 5 19 21 1 17 22 ...

    Suma: 22 42 26 35 26 27 39 36 25 24 24 20 22 43 ...

    Mdulo (27): 22 15 26 8 26 27 12 9 25 24 24 20 22 16 ...

    Texto cifrado: U Y H Y Z L I X W W S U O ...

    Utilizaremos un mdulo, de forma que cuando un valor excede el mdulo se

    lo restamos.

    El valor del mdulo depende del tipo de lenguaje que estemos utilizando, en

    nuestro caso es el Lenguaje Espaol.

    Con una clave aleatoria y tan larga como el propio texto plano este

    algoritmo es, en teora y en la prctica, inviolable, pues cualquier texto

    plano de la misma longitud es un posible candidato.

    Una forma prctica de generar una clave tan larga como se desee es recurrir

    a un libro que sera nuestra clave.

    ESPECIFICACIONES Y MODIFICACIONES REALIZADAS AL MTODO

    Al momento de ingresar un texto plano, el usuario ingresa con espacios, sin

    embargo todos los caracteres se tomarn en cuenta como un solo texto.

    El mdulo segn nuestro alfabeto espaol contiene 27 letras. Valor que ser

    restado en caso de que la suma del valor de los caracteres tanto del texto

    plano como de la clave excedan el valor de dicho mdulo.

    La clave que se utilice en la aplicacin puede ser elegida por el usuario, el

    programa compara si el texto a Encriptar es menor a clave, en caso de ser

    cierto la clave se adapta al texto reducindola. Si el texto a Encriptar es

    mayor a clave, entonces la clave se adapta al texto duplicndola o

    incrementando caracteres de la propia clave, hasta que el tamao de los

    caracteres del texto plano y de la clave sean iguales.

    Cuando vamos a Encriptar un texto que contenga tanto letras como

    nmeros, el programa recibir todo el texto plano (texto a Encriptar), pero

  • solo encriptar todos aquellos caracteres que sean letras, adems obviar

    los espacios en blanco.

    Cuando vamos a Desencriptar un texto Cifrado debe contener solo nmeros,

    el programa recibir todo el texto Cifrado (texto a Desencriptar), pero solo

    Desencriptar todos aquellos caracteres que sean nmeros, adems obviar

    los espacios en blanco.

    MODELO

    VARIABLES

    x= Valor Texto Plano (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 27)

    y=Valor Clave (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 27)

    z= Suma

    A= (a, b, c, d, e, f, g, h, i, k, l ,m, n, o, p, q, r, s, t, u, v, x, y, z)

    Z=x+y

    x+y=A

    X Y Z Z>27 Z27 (z+y)