metododeencriptacionpolybiosstream-100122121234-phpapp01
DESCRIPTION
cifrado e incriptadoTRANSCRIPT
-
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)