Reporte de Practica #1-Cifrado Del Cesar

INSTITUTO TECNOLOGICO SUPERIOR DE COATZACOALCOS Asignatura: Seguridad informática Docente: Lic. Itchelt Nallely Villanu

Views 45 Downloads 0 File size 261KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

INSTITUTO TECNOLOGICO SUPERIOR DE COATZACOALCOS

Asignatura: Seguridad informática Docente: Lic. Itchelt Nallely Villanueva Ramirez Tema: Reporte de practica: Cifrado del cesar Fecha de entrega: 04-Marzo-2015 Alumnos (as): Hernández Pérez Carla Matus Gutiérrez José Eduardo Grado y grupo: 8°B Carrera: Ing. Sistemas Computacionales.

Índice Introducción........................................................................................................ 3 Desarrollo............................................................................................................ 4 Cifrado del cesar: Código y explicación...........................................................4

Introducción

El cifrado es un método que permite aumentar la seguridad de un mensaje o de un archivo mediante la codificación del contenido, de manera que solo pueda leerlo la persona que disponga de la clave de cifrado adecuada para descodificarlo. Por ejemplo, si realizamos una compra en un sitio web, la información de la transacción (como nuestra dirección, número de teléfono y número de tarjeta de crédito) suele cifrarse con el fin de mantenerla a salvo.

Desarrollo Cifrado del cesar: Código y explicación Se desarrolló una app en consola, en el lenguaje de programación C#, con la herramienta Visual Studio 2012, donde se creó el siguiente programa, con cifrado del cesar, ya que hace re-corrimientos según el número que le órdenes. using using using using using

System; System.Collections.Generic; System.Linq; System.Text; System.Threading.Tasks;

namespace ConsoleApplication1 { class Program { static string abecedario = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"; static void Main(string[] args) { String Msj = "CARLA"; //se cifra el mensakje con un desplazamiento predeterminado de 6 string temporal = cifrar(Msj,6); //se muestra el msj cifrado Console.WriteLine("Msj cifrado:\"{0}\"",temporal); //se muestra el msj descifrado con el mismo recorrimiento utilizando un metodo Console.WriteLine("Msj descifrado:\"{0}\"", descifrar(temporal, 6)); Console.ReadKey(); } //metodo de encriptacion cesar static string cifrar(string Msj, int desplazamiento) { String cifrado = ""; //Desplazamiento y contador de caracteres if(desplazamiento >0 && desplazamiento < abecedario.Length) { //recorre caracter a caracter el msj que vamos a cifrar for (int i = 0; i < Msj.Length;i++ ) { int Carac = getAbecedario(Msj[i]); if (Carac != 1) //buscar si el caracter existe en nuestra variable { int pos = Carac + desplazamiento; while (pos >= abecedario.Length) { pos = pos - abecedario.Length; }

cifrado += abecedario[pos]; //concatena al msj cifrado } else { cifrado+=Msj[i]; //si el caracter no existe, no se cifra } } } return cifrado; //retorna un resultado

} //descibrado cesar es el mismo procedimiento aplicado al inverso //Del cifrado static string descifrar(string Msj, int desplazamiento) { String cifrado = ""; if (desplazamiento > 0 && desplazamiento < abecedario.Length) { //recorre caracter a caracter el msj que vamos a descifrar for (int i = 0; i < Msj.Length; i++) { int Carac = getAbecedario(Msj[i]); if (Carac != 1) //buscar si el caracter existe en nuestra variable { int pos = Carac - desplazamiento; while (pos < 0) { pos = pos + abecedario.Length; } cifrado += abecedario[pos]; //concatena al msj descifrado } else { cifrado += Msj[i]; //si el caracter no existe, no lo cifrara } } } return cifrado; } //obtiene la posicion del caracter pasandolo como un parametro en //nuestra variable que declaramos al inicio que contiene nuestro //abecedario de cifrado y al mismo tiempo descifrado static int getAbecedario(char caracter) { for (int i = 0; i < abecedario.Length;i++) { if (caracter == abecedario[i]) { return i; } } return -1; } } }

Ejecución del programa en consola A continuación se muestra el cifrado del cesar, que fue previamente explicado. Con un recorrido de 6 caracteres.

Conclusión