metodos de encriptaciÓn

6

Click here to load reader

Upload: launasa-noveno-b

Post on 08-Jul-2015

280 views

Category:

Documents


1 download

DESCRIPTION

POLYBIOS Y STREAM

TRANSCRIPT

Page 1: METODOS DE ENCRIPTACIÓN

APLICACIÓN CON LOS MÉTODOS

CLÁSICOS DE ENCRIPTACIÓN

(POLYBIOS Y STREAM)

Encriptación

Es el proceso mediante el cual cierta información o texto sin formato es cifrado de

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

para su interpretación.

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

transmitir información sensible ésta no pueda ser obtenida con facilidad por

terceros.

Opcionalmente puede existir además un proceso de desencriptación a través del

cual la información puede ser interpretada de nuevo a su estado original, aunque

existen métodos de encriptación que no pueden ser revertidos.

El término encriptación es traducción literal del inglés y no existe en el idioma

español. La forma más correcta de utilizar este término sería cifrado.

Criptografía clásica

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 información confidencial y sensible a través de medios no

seguros.

Aunque en cierta forma el sistema de jeroglíficos egipcio puede considerarse ya

una forma de criptografía (sólo podían ser entendidos por personas con

conocimientos suficientes), el primer sistema criptográfico como tal conocido de

debe a Julio Cesar.

Page 2: METODOS DE ENCRIPTACIÓN

EL CIFRADOR DE POLYBIOS Polybios ideo un sistema de cifrado por sustitución que consistía 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 sustitución de caracteres más antiguo que se conoce (siglo II

a.C.) pero duplica el tamaño. 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 opción es colocando en sus dimensiones vertical y

horizontal letras de A-E, la segunda opción es colocando en sus dimensiones

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

utilizar este método es con la segunda opción, ya que si la hiciéramos con la

primera, el método se parecería al método Playfair.

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

todas las letras del abecedario, según el lenguaje que se esté utilizando.

Un gran problema de este tipo de cifrado es que el tamaño del mensaje se

duplica, lo cual no siempre es deseable.

ESPECIFICACIONES Y MODIFICACIONES REALIZADAS AL MÉTODO

La matriz que utilizaremos para el desarrollo de nuestra aplicación es una

matriz con dimensión 5x5, la cual en el encabezado vertical y horizontal se

colocarán números, los mismos que representarán a los caracteres que

serán parte del texto cifrado.

En el encabezado vertical se colocarán números impares (1, 3, 5, 7, 9), en el

encabezado horizontal se colocarán números del 1-5.

El lenguaje que utilizaremos será el basado en el alfabeto español, que

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

Page 3: METODOS DE ENCRIPTACIÓN

dicho alfabeto no nos daría 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 aplicación:

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 tendrán su

correspondiente sustitución.

El método, consiste en corresponder la letra que se desea ocultar con otras

dos según la fila y la columna de la matriz a la que pertenece. Por ejemplo, la

letra “a” sería “11”, la “s” sería “73”.

Cuando vamos a Encriptar un texto que contenga tanto letras como

números, el programa recibirá todo el texto plano (texto a Encriptar), pero

solo encriptará todos aquellos caracteres que sean letras, además obviará

los espacios en blanco.

Cuando vamos a Desencriptar un texto Cifrado debe contener solo

números, el programa recibirá todo el texto Cifrado (texto a Desencriptar),

pero solo Desencriptará todos aquellos caracteres que sean números,

cuando se ingrese algún texto con letras se presentara un mensaje de error

“texto ilegible”, además obviará los espacios en blanco.

Page 4: METODOS DE ENCRIPTACIÓN

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

Page 5: METODOS DE ENCRIPTACIÓN

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 carácter del texto cifrado es el de la suma

del valor del primer carácter del texto plano y el del primero de la clave, el valor

del segundo carácter del texto cifrado es el de la suma del segundo carácter 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 ...

Módulo (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 módulo, de forma que cuando un valor excede el módulo se

lo restamos.

El valor del módulo depende del tipo de lenguaje que estemos utilizando, en

nuestro caso es el Lenguaje Español.

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

algoritmo es, en teoría y en la práctica, inviolable, pues cualquier texto

plano de la misma longitud es un posible candidato.

Una forma práctica de generar una clave tan larga como se desee es recurrir

a un libro que sería nuestra clave.

ESPECIFICACIONES Y MODIFICACIONES REALIZADAS AL MÉTODO

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

embargo todos los caracteres se tomarán en cuenta como un solo texto.

El módulo según nuestro alfabeto español 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 módulo.

La clave que se utilice en la aplicación 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 reduciéndola. Si el texto a Encriptar es

mayor a clave, entonces la clave se adapta al texto duplicándola o

incrementando caracteres de la propia clave, hasta que el tamaño de los

caracteres del texto plano y de la clave sean iguales.

Cuando vamos a Encriptar un texto que contenga tanto letras como

números, el programa recibirá todo el texto plano (texto a Encriptar), pero

Page 6: METODOS DE ENCRIPTACIÓN

solo encriptará todos aquellos caracteres que sean letras, además obviará

los espacios en blanco.

Cuando vamos a Desencriptar un texto Cifrado debe contener solo números,

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

Desencriptará todos aquellos caracteres que sean números, además 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 Z<27 Texto

Cifrado Descifrado (z+y)>27 (z+y)<27

Texto

Descifrado

Texto

Plano A A x+y Z--27 Z Z=A Z+Y (z+y)--27 (z+y) A

DIAGRAMA DE SUCESOS

ENCRIPTAR

DESENCRIPTAR

Clave

A

Texto Plano Cifrar Texto Cifrado

STREAM

x

x=1; y=2

y

x+y

A

y

Texto Cifrado Descifrar Texto Plano

STREAM

Z+Y

x