Beruflich Dokumente
Kultur Dokumente
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
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;
}
}
//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;
}
}
}
Conclusin