Sie sind auf Seite 1von 6

INSTITUTO TECNOLOGICO SUPERIOR DE COATZACOALCOS

Asignatura:
Seguridad informtica
Docente:
Lic. Itchelt Nallely Villanueva Ramirez
Tema:
Reporte de practica: Cifrado del cesar
Fecha de entrega:
04-Marzo-2015
Alumnos (as):
Hernndez Prez Carla
Matus Gutirrez Jos Eduardo
Grado y grupo:
8B
Carrera:
Ing. Sistemas Computacionales.

ndice
Introduccin........................................................................................................ 3
Desarrollo............................................................................................................ 4
Cifrado del cesar: Cdigo y explicacin...........................................................4

Introduccin

El cifrado es un mtodo que permite aumentar la seguridad de un mensaje


o de un archivo mediante la codificacin 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
informacin de la transaccin (como nuestra direccin, nmero de telfono y
nmero de tarjeta de crdito) suele cifrarse con el fin de mantenerla a salvo.

Desarrollo
Cifrado del cesar: Cdigo y explicacin
Se desarroll una app en consola, en el lenguaje de programacin C#, con
la herramienta Visual Studio 2012, donde se cre el siguiente programa, con
cifrado del cesar, ya que hace re-corrimientos segn el nmero 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 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
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;
}
}
}

Ejecucin del programa en consola


A continuacin se muestra el cifrado del cesar, que fue previamente explicado.
Con un recorrido de 6 caracteres.

Conclusin

Das könnte Ihnen auch gefallen