Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Facultad de Ingeniera
Criptografa
Grupo 2
ALUMNOS:
PROFESORA:
1
INDICE
Introduccin..3
Objetivo...3
Algoritmo Propio.7
1. Caractersticas cifrador
2. Forma de operacin programa y restricciones
3. En qu se basa la seguridad del cifrador
4. Cdigo Fuente Programa
Rol de Integrantes23
Conclusiones24
Bibliografa.....25
2
Objetivo
Introduccin
Las tcnicas de cifrado son aquellas que se utilizan para ocultar un mensaje y evitar que sea legible
si ste es accedido o interceptado por algn proceso o usuario no autorizado, as, el objetivo
bsico de todo sistema de cifrado es mantener privada la informacin dentro de un entono dado,
como puede ser un medio de transmisin o un sistema de almacenamiento de datos que por sus
caractersticas de diseo, desarrollo o funcionamiento, puede contraerse inseguro.
En cuanto al trmino "Clsicas", se refiere a las tcnicas usadas en los principios de la criptografa y
hasta 1984, cuando es desarrollada la teora matemtica de las comunicaciones por Claude
Shannon y a partir de entonces se conoce como criptografa moderna.
Tipo de operaciones
Se emplean para la transformacin del mensaje, considerando para ello dos grandes grupos; los
cuales corresponden a operaciones de sustitucin y operaciones de transposicin.
Nmero de claves
Se pueden emplear para cifrar texto plano, as, pueden emplearse una o mas claves, siendo
conocidos como sistemas de cifrado simtrico aquellos que usan la misma clave para cifrar y
descifrar, en tanto que los sistemas que utilizan una clave para cifrar y otra para descifrar son
llamados sistemas asimtricos
Procesamiento de la informacin
Este puede realizarse en forma serial, o por bloques, ya sea del mensaje en claro para el cifrado de
la informacin o del criptograma para el descifrado de los datos, adems, el tamao de los bloques
en este tipo de procesamiento depende de la capacidad del sistema.
3
Sin importar cun complejo sea el sistema criptogrfico que se utilice, estas caractersticas
siempre estarn presentes en todo sistema de cifrado, ya que en cualquier caso es indispensable
procesar la informacin, con base en las operaciones estipuladas en el algoritmo y aplicando para
ello al menos una clave de cifrado.
Este grupo de algoritmos se refiere a la utilizacin de un alfabeto, esto es, si el algoritmo emplea
un solo alfabeto tanto para el cifrado como para el descifrado de los datos.
4
Sustitucin monogrmica: es aquella en que el cifrado se realiza carcter a carcter, esto es,
cifrando uno a uno los smbolos del mensaje en claro. Ejemplos de este tipo de cifrado son los
algoritmos: Polybios, Csar, Afn, Desplazamiento.
Este tipo de algoritmos se refiere a que para llevar a cabo la transformacin del texto plano en
criptograma, es necesario reemplazar cada carcter del mensaje en claro por otro correspondiente
a un grupo de alfabetos, esto es, la base sobre la que se trabaja corresponde a un conjunto de
alfabetos que contengan todos aquellos smbolos que formarn parte de los textos a cifrar y
descifrar.
Sin embargo, este proceso de sustitucin puede realizarse de dos formas distintas:
Transposicin simple: Este tipo de citado busca reordenar los caracteres de tal manera que no sea
legible el mensaje a simple vista como en el caso de transposicin inversa.
Transposicin doble: Esta tcnica consiste en aplicar dos veces de manera consecutiva el cifrado
de transposicin simple.
Transposicin por grupos: Este tipo de cifrado busca reordenar los caracteres del mensaje a cifrar
por grupo, para lo cual se consideran grupos de perodo, lo que implica que la transposicin es
peridica y que despus de aplicar la permutacin indicada con el tamao de grupo dado sobre el
5
texto en claro, esta accin se repetir tantas veces como sea necesario hasta haber cifrado el texto
deseado.
Transposicin por series: Este tipo de cifrado reordena los caracteres del mensaje a cifrar como
una serie de submensajes, de manera que el criptograma tiene la forma: Cripto=
Ms1,Ms2,Ms3...MsN. Donde cada uno de los submensajes sigue una funcin determinada, del
total de caracteres que conforman el texto a cifrar con base en la posicin que ocupa cada uno en
el mensaje.
6
Algoritmo Propio
1.- Caractersticas Cifrador
A) Proceso de cifrado
Consideraciones:
e s t e s e m e s t r e n o v a a s e r t a n b u e n o
f r a s q u i t o
7
-
En caso de que se presentar el segundo caso, se agregara un caracter de relleno que ser
3. La cadena se divide en dos bloques (renglones), alternando su escritura en orden una letra en el primer bloque y la siguiente en el otro
bloque.
Bloque A e t .
Bloque B s e
Bloque A(1A) e t s m s r n v a e t n u n
Bloque B(2B) s e e e t e o a s r a b e o
2B o e b a r s a o e t e e e s
Ahora ser 2Ba
5. Se concatenan 1A2Ba
e t s m s r n v a e t n u n o e b a r s a o e t e e e s
1A 2Ba
8
6. Segn la siguiente tabla o arreglo se le asigna el valor correspondiente a cada letra del cripto parcial. Tambin a la clave se les asigna su
correspondiente valor, se suman sus letras y se divide entre el tamao del alfabeto sin contar el carcter de relleno (37). Y se pone
especial atencin al residuo
Tabla
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
a b c d e f g h I j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 0
Valor CP 5 21 20 13 20 19 14 23 1 5 21 14 22 14 16 5 2 1 19 20 1 16 5 21 5 5 5 20
CP E T S M S R N V A E T N U N O E B A R S A O E T E E E S
K f r a s q u i t o
Valor K 6 19 1 20 18 22 9 21 16
Suma 132
Residuo 21
7. Se toma la cadena del cripto y se extiende la el valor del residuo tantas veces sea necesario.
9
Valor CP 5 21 20 13 20 19 14 23 1 5 21 14 22 14 16 5 2 1 19 20 1 16 5 21 5 5 5 20
CP e t s m s r n v a e t n u n o e b a r s a o e t e e e s
Residuo 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
Valor 5 21 20 13 20 19 14 23 1 5 21 14 22 14 16 5 2 1 19 20 1 16 5 21 5 5 5 20
CP
CP e t s M s r n v a e t n u n o e b a r s a o e t e e e s
Residuo 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
suma 26 42 41 34 41 40 35 44 22 26 42 35 43 35 37 26 23 22 40 41 22 37 26 42 26 26 26 41
9. Segn el valor de la suma se sustituye por su correspondiente letra segn la siguiente tabla
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
0 9 8 7 6 5 4 3 2 1 z y x w v u t s r q p o n m l k j i h g f e d c b a
Valor 5 21 20 13 20 19 14 23 1 5 21 14 22 14 16 5 2 1 19 20 1 16 5 21 5 5 5 20
CP
CP e t s M s r n v a e t n u n o e b a r s a o e t e e e s
Residuo 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
suma 26 42 41 34 41 40 35 44 22 26 42 35 43 35 37 26 23 22 40 41 22 37 26 42 26 26 26 41
m E d p m d d b m o p p b m m m m
10
- Si el valor de la suma es >38 , se le resta el tamao del alfabeto , en este caso 38, y se sustituye por la letra
Valor CP 5 21 20 13 20 19 14 23 1 5 21 14 22 14 16 5 2 1 19 20 1 16 5 21 5 5 5 20
CP e t S m s r n v a e t n u n o e b a r s a o e t e e e s
Residuo 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
suma 26 42 41 34 41 40 35 44 22 26 42 35 43 35 37 26 23 22 40 41 22 37 26 42 26 26 26 41
m e d p m d d b m o p p b m m m m
Resta 4 3 3 2 6 4 5 2 3 4 3
Valor CP 5 21 20 13 20 19 14 23 1 5 21 14 22 14 16 5 2 1 19 20 1 16 5 21 5 5 5 20
CP e t S m s r n v a e t n u n o e b a r s a o e t e e e s
Residuo 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
suma 26 42 41 34 41 40 35 44 22 26 42 35 43 35 37 26 23 22 40 41 22 37 26 42 26 26 26 41
m e d p m d d b m o p p b m m m m
Resta 4 3 3 2 6 4 5 2 3 4 3
m e d p m d d b m o p p b m m m m
Valor CP 5 21 20 13 20 19 14 23 1 5 21 14 22 14 16 5 2 1 19 20 1 16 5 21 5 5 5 20
CP e t S m s r n v a e t n u n o e b a r s a o e t e e e s
Residuo 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
11
suma 26 42 41 34 41 40 35 44 22 26 42 35 43 35 37 26 23 22 40 41 22 37 26 42 26 26 26 41
m e d p m d d b m o p p b m m m m
Resta 4 3 3 2 6 4 5 2 3 4 3
m 8 9 e 9 0 d 6 p m 8 d 7 d b m o p 0 9 p b m 8 m m m 9
El cripto final (CF) estar dado por las consideraciones, entonces nos queda
valor CP 5 21 20 13 20 19 14 23 1 5 21 14 22 14 16 5 2 1 19 20 1 16 5 21 5 5 5 20
CP e t S m s r n v a e t n u n o e b a r s a o e t e e e s
Residuo 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
Suma 26 42 41 34 41 40 35 44 22 26 42 35 43 35 37 26 23 22 40 41 22 37 26 42 26 26 26 41
m e d p m d d b m o p p b m m m m
Resta 4 3 3 2 6 4 5 2 3 4 3
CF m 8 9 e 9 0 d 6 p m 8 d 7 d b m o p 0 9 p b m 8 m m m 9
Mcla e s t E s e m e s t r e n o v a a s e r t a n b u e n 0
Crpto m 8 9 E 9 0 d 6 p m 8 d 7 d b m o p 0 9 p b m 8 m m m 9
B) Proceso descifrado
Consideraciones:
12
1. Se sustituye el correspondiente valor de la letra de la palabra clave, segn la siguiente tabla, se suman las letras y se divide entre el
tamao del alfabeto sin contar el carcter de relleno (37). Y se pone especial atencin al residuo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
a b c d e f g h I j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 0
K f r a s q u i t o
Valor K 6 19 1 20 18 22 9 21 16
Suma 132
Residuo 21
2. Se sustituye el correspondiente valor de la letra del cripto (C1) segn la siguiente tabla
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
0 9 8 7 6 5 4 3 2 1 z y x w v u t s r q p o n m l k j i h g f e d c b a
C1 m 8 9 e 9 0 d 6 p m 8 d 7 d b m o p 0 9 p b m 8 m m m 9
Valor 26 4 3 34 3 2 35 6 22 26 4 35 5 35 37 26 23 22 2 3 22 37 26 4 26 26 26 3
3. Se toma la cadena del cripto y se extiende el valor del residuo tantas veces sea necesario.
13
C1 m 8 9 e 9 d 0 6 p m 8 d 7 d b m o p 0 p 9 b m 8 m m m 9
Valor 3 3 2 2 3 3 3 2 2 2 2 3 2 2 2 2
26 4 3 4 3 2 5 6 2 6 4 5 5 5 7 6 3 2 2 3 2 7 6 4 6 6 6 3
Residu 21 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
o 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
C1 m 8 9 e 9 0 d 6 p m 8 d 7 d b m o p 0 9 p b m 8 m m m 9
Valor 26 4 3 34 3 2 35 6 22 26 4 35 5 35 37 26 23 22 2 3 22 37 26 4 26 26 26 3
Residuo 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
resta 5 -17 -18 13 -18 -19 14 -15 1 5 -17 14 -16 14 16 5 2 1 -19 -18 1 16 5 -17 5 5 5 -18
5. Segn el valor de la resta se sustituye por su correspondiente letra segn la siguiente tabla
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
a b c d e f g h I j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 0
C1 m 8 9 e 9 0 d 6 p m 8 d 7 d b m o p 0 9 p b m 8 m m m 9
Valor 26 4 3 34 3 2 35 6 22 26 4 35 5 35 37 26 23 22 2 3 22 37 26 4 26 26 26 3
Residuo 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
Resta 5 -17 -18 13 -18 -19 14 -15 1 5 -17 14 -16 14 16 5 2 1 -19 -18 1 16 5 -17 5 5 5 -18
14
e m n a e n n o e b a a o e e e e
Suma 21 20 20 19 23 21 22 19 20 21 20
t s s r v t u r s t s
C1 m 8 9 e 9 0 d 6 p m 8 d 7 d b m o p 0 9 p b m 8 m m m 9
Valor 26 4 3 34 3 2 35 6 22 26 4 35 5 35 37 26 23 22 2 3 22 37 26 4 26 26 26 3
Residuo 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
resta 5 -17 -18 13 -18 -19 14 -15 1 5 -17 14 -16 14 16 5 2 1 -19 -18 1 16 5 -17 5 5 5 -18
e m n a e n o e b a a o e e e e
- Si el valor de la suma es <0 (negativo) , se le suma el tamao del alfabeto , en este caso 38, y se sustituye por la letra
C1 m 8 9 e 9 0 d 6 p m 8 d 7 d b m o p 0 9 p b m 8 m m m 9
Valor 26 4 3 34 3 2 35 6 22 26 4 35 5 35 37 26 23 22 2 3 22 37 26 4 26 26 26 3
Residuo 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
Resta 5 -17 -18 13 -18 -19 14 -15 1 5 -17 14 -16 14 16 5 2 1 -19 -18 1 16 5 -17 5 5 5 -18
e m n a e n n o e b a a o e e e e
Suma 21 20 20 19 23 21 22 19 20 21 20
C1 m 8 9 e 9 0 d 6 p m 8 d 7 d b m o p 0 9 p b m 8 m m m 9
Valor 26 4 3 34 3 2 35 6 22 26 4 35 5 35 37 26 23 22 2 3 22 37 26 4 26 26 26 3
15
Residuo 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
Resta 5 -17 -18 13 -18 -19 14 -15 1 5 -17 14 -16 14 16 5 2 1 -19 -18 1 16 5 -17 5 5 5 -18
e m n a e n n o e b a a o e e e e
Suma 21 20 20 19 23 21 22 19 20 21 20
t s s r v t u r s t s
El Mcla intermedio (Mi) estar dado por las consideraciones, entonces nos queda
C1 m 8 9 e 9 0 d 6 p m 8 d 7 d b m o p 0 9 p b m 8 m m m 9
Valor 26 4 3 34 3 2 35 6 22 26 4 35 5 35 37 26 23 22 2 3 22 37 26 4 26 26 26 3
Residuo 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21
Resta 5 -17 -18 13 -18 -19 14 -15 1 5 -17 14 -16 14 16 5 2 1 -19 -18 1 16 5 -17 5 5 5 -18
e m n a e n n o e b a a o e e e e
Suma 21 20 20 19 23 21 22 19 20 21 20
Mi e t s m s r n v a e t n u n o e b a r s a o e t e e e s
C1 m 8 9 e 9 0 d 6 p m 8 d 7 d b m o p 0 9 p b m 8 m m m 9
Mi e t S m s r n v a e t n u n o e b a r s a o e t e e e s
16
6. Mi se divide en dos bloques
1B e t S m s r n v a e t n u n
2B o e B a r s a o e t e e e s
2B o e B a r s a o e t e e e s
2Ba s e E e t e o a s r a b e o
1B e t s m s r n v a e t n u n
2Ba s e e e t e o a s r a b e o
Mcla: estesemestrenovaasertanbueno
17
1. Forma de operacin programa y restricciones
a) Proceso cifrado
b) Proceso descifrado
Consideraciones
18
3. Cdigo Fuente Programa
package modelo;
import java.util.Arrays;
/**
*
* @author Arnulfo Quezada Borja
*/
public class Criptografia
{
private static char[] alfabeto =
{'a','b','c','d','e','f','g','h','i','j','k','l','m','n','','o','p','q',
'r','s','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9','
0',''};
private static char[] alfabetoVolteado;
static
{
alfabetoVolteado = Criptografia.voltearArreglo(alfabeto);
}
19
arregloCadena = concatenarArreglos(subarreglo1,
voltearArreglo(subarreglo2));
int[] valoresCadena = sustituirPorValor(arregloCadena);
int residuo = sumarValores(sustituirPorValor(arregloClave)) % 37;
valoresCadena = sumarValorAArreglo(valoresCadena, residuo);
arregloCadena = convierteACaracteres(valoresCadena);
return new String(arregloCadena);
}
20
private static char[] concatenarArreglos(char[] tmp1, char[] tmp2)
{
char[] nuevo = new char[tmp1.length + tmp2.length];
int j = 0;
for(int i = 0; i < tmp1.length; i++)
{
nuevo[j++] = tmp1[i];
}
for(int i = 0; i < tmp2.length; i++)
{
nuevo[j++] = tmp2[i];
}
return nuevo;
}
21
}
throw new RuntimeException("Se encontraron caracteres no vlidos
vuelva a intentarlo.");
}
22
Rol de los integrantes
Quezada Borja Arnulfo
23
Conclusiones/Comentarios
Quezada Borja Arnulfo B.
Con la realizacin del proyecto puedo concluir que la programacin de los algoritmo para la
implementacin de los cifradores clsicos conllevan a una integracin plana, sin dudarlo por
instante, de conocimientos y habilidades para su desarrollo, que fue uno de los puntos planteados
inicialmente; por otra parte pienso que el punto al respecta a la capacidad de trabajar en equipo,
no se alcanzo plenamente pues algunos nos cuesta mucho trabajo hacerlo, no hubo una
integracin total de las partes. Pese a esto creo que se consigui hacer un proyecto con calidad.
La realizacin de este proyecto permiti valorar y considerar la importancia que tienen las
comunicaciones digitales en la actualidad, sabemos que es importante garantizar el secreto de
comunicacin entre dos entidades o individuos. Con la creacin de esta interfaz con cifradores
clsicos se dispone de una imprescindible herramienta para trabajar con mensajes que queremos
cifrar en un determinado momento. Este proyecto permiti poner en prctica los conocimientos
adquiridos en clase y ponerlos en prctica a travs de un lenguaje de programacin.
Ayudo mucho tener las reglas para cada uno de los mtodos empleados, sin embargo, se vuelve
diferente la forma de implementarlos en un programa, por el manejo de variables y de funciones
que haga que se pueda manipular el mtodo usando interfaz grafica para su uso.
Con esto se logro juntar aplicaciones y crear una herramienta de cifrado para los distintos
mtodos de la criptografa clsica y con esto hacer uso de corroborar ejercicios hechos a "mano" e
implementar en algn protocolo de comunicacin de red.
Este proyecto en primera instancia me sirvi para saber cmo es que funcionan ms a detalle
todos los algoritmos de encriptacin clsica, puesto que para poder programarlos se tiene que
realizar su anlisis a fondo de ellos para conocer el ms mnimo detalle de su funcionamiento, por
otra parte mencionar que la realizacin del proyecto me ayud a comprender un la importancia
que tiene el salvaguardar la informacin hoy en da y lo que representaba en tiempos pasados.
Otra cuestin importante de mencionar es que la otra finalidad del proyecto fue la de trabajar en
equipo, en cuanto a esto solo puedo mencionar que se dio la divisin pero por diferencia de
horarios y poca disponibilidad de tiempo no se pudo trabajar al 100% en equipo pero aun as se
pudo concluir con el proyecto de una forma exitosa.
24
Montero Gonzlez Csar G.
Al realizar el proyecto me di cuenta que para programar los algoritmos es necesario conocerlos a
la perfeccin para que el proceso de programacin sea ms rpido, a mi en particular me tocaron
los mtodos de desplazamiento y transposicin por series, el mtodo de desplazamiento en la
prctica y realizndolo en papel es de los ms sencillos pero me cost ms trabajo programarlo
que el de transposicin, ya que requiere de ms pasos para programarlo.
El proyecto se me hizo un poco largo pero al ser en equipo el trabajo se reparti, en nuestro
equipo en particular trabajamos bien y todos aportaron para la realizacin del mismo.
Bibliografa
Lpez Barrientos, Ma. Jaquelina. Criptografa, Mxico, Universidad Nacional Autnoma de Mxico,
Facultad de Ingeniera, 2009.
25