Red de conocimientos turísticos - Conocimientos sobre calendario chino - El cifrado César implementa el cifrado y descifrado de oraciones cortas en inglés

El cifrado César implementa el cifrado y descifrado de oraciones cortas en inglés

1. Traducir la frase en inglés "Somos estudiantes." a una contraseña usando el cifrado César de k=4

1. Cifrado César,

Como Uno de los sistemas de cifrado simétrico más antiguos, su idea básica es:

El cifrado y descifrado se logran moviendo letras una cierta cantidad de dígitos.

Por ejemplo, si la clave de cifrado es mover el número de letras de texto sin formato hacia atrás en tres, entonces la letra de texto sin formato B se convertirá en el texto cifrado E, y así sucesivamente, X se convertirá en A e Y se convertirá en B y Z se convierten en C. Se puede ver que la cantidad de dígitos es la clave para el cifrado y descifrado del cifrado César.

Por ejemplo: ZHDUHVWXGHQWV (retroceder tres dígitos)

2. Cifrado César,

es una programación en lenguaje C de computadora para implementar cifrado y descifrado. Bastante complicado. Puedes investigarlo.

2. Implemente el proceso de cifrado y descifrado del cifrado César (K = 7) utilizando la programación en lenguaje C

/*

Declaración: prueba de entorno MSVC++6.0 aprobada

*/

#include

#include

#define maxlen 100

#define K 7

char *KaisaEncode(char *str)//Cifrado

{

char *d0; str;

for(;*str!='\0';str++)

{

if(isupper(*str))

*str=(*str-'A'+K)%26+'A';

else if(islower(*str))

*str=( *str-'a'+K)%26+'a';

más

continuar

}

devolver d0; ;

}

char *KaisaDecode(char *str)//Descifrado

{

char *d0;

d0=cadena;

for(;*cadena!='\0';cadena++)

{

if(isupper(*cadena) )

*str=(*str-'A'-K+26)%26+'A'

else if(islower(*str))

*str=(*str-'a'-K+26)%26+'a';

más

continuar

}

return d0;

}

int main(void)

{

char s[maxlen] ;

obtiene(s);

pone(KaisaEncode(s));

pone(KaisaDecode(s)); return 0;

} 3. Utilice la programación en lenguaje C para implementar el proceso de cifrado y descifrado del cifrado Caesar X

(2) El programa específico del algoritmo de cifrado Kaiser: #include #include char encrypt( char ch,int n)/*Función de cifrado, desplaza circularmente los caracteres hacia la derecha por n*/ { while(ch>='A'&&ch='a'&&ch<='z') { return ('a '+( ch-'a'+n)%26); } return ch; } void menu ()/*Menú, 1. Cifrado, 2. Descifrado, 3. Cracking por fuerza bruta, la contraseña solo puede ser números*/ { clrscr(); printf("\n======================================== ======== ============"); printf("\n1.Cifrar el archivo"); printf("\n2.Descifrar el archivo"); printf(" \n3.Forzar descifrado del archivo") ; printf("\n4.Salir\n"); printf("=

==================================================== ======\n"); printf("Por favor seleccione un elemento:"); return; } main() { int i,n; char ch0,ch1; ARCHIVO *in,*out; char infile[20 ],outfile[20]; textbackground(NEGRO); textcolor(LIGHTGREEN); clrscr(); /*Espera 3 segundos*/ ch0=getch(); 4 ') { if(ch0=='1') { clrscr(); printf("\nIngrese el archivo interno:"); cifrado*/ if ((in=fopen(infile,"r"))==NULL) { printf("¡No se puede abrir el archivo in!\n"); printf("¡Presione cualquier tecla para salir!\n"); getch(); exit(0); } printf("Ingrese la clave:"); scanf("%d",&n); /*Ingrese la contraseña de cifrado*/ printf("Ingrese el archivo de salida:"); scanf("%s ",outfile);/*Ingrese el nombre del archivo cifrado*/ if((out=fopen(outfile,"w"))==NULL) { printf("¡No se puede abrir el archivo out! \n"); printf ("¡Presione cualquier tecla para salir!\n"); fclose(in); getch(); exit(0); } while(!feof(in))/*encryption*/ { fputc( cifrar(fgetc(in)),n),out); } printf("\n¡El cifrado ha terminado!\n"); fclose(out); 2') { clrscr() ; printf("\nIngrese el archivo interno:"); scanf("%s",infile /*Ingrese el nombre del archivo a descifrar*/ if((in=fopen(infile, "r"))==NULL ) { printf("¡No se puede abrir el archivo!\n"); printf("¡Presione cualquier tecla para salir!\n"); getch(); "Ingrese la clave:") ; scanf("%d",&n); /*Ingrese la contraseña de descifrado (puede ser la contraseña utilizada durante el cifrado)*/ n=26-n; "); scanf("%s", outfile);/*Ingrese el nombre del archivo descifrado*/ if((out=fopen(outfile,"w"))==NULL) { printf("No se puede abrir el archivo de salida!\n"); printf(" ¡Presione cualquier tecla para salir!\n"); fclose(in); getch(); exit(0); } while(!feof(in)) { fputc(encrypt( fgetc(en),n)

,fuera); } printf("\n¡Descifrado ha terminado!\n"); fclose(in); fclose(fuera); "\nIngrese el archivo interno:"); scanf("%s",infile); /*Ingrese el nombre del archivo a descifrar*/ if((in=fopen(infile,"r"))==NULL) { printf ("¡No se puede abrir el archivo interno!\n"); printf("¡Presione cualquier tecla para salir!\n"); getch(); exit(0); printf("Ingrese el archivo externo:"); ( "%s",outfile);/*Ingrese el nombre del archivo descifrado*/ if((out=fopen(outfile,"w"))==NULL) { printf("¡No se puede abrir el archivo out!\ n" ); printf("¡Presione cualquier tecla para salir!\n"); fclose(in); getch(); exit(0); } for(i=1;i<=25;i++)/*Fuerza bruta proceso de descifrado, después de comprobar que la información es correcta, puede presionar 'Q' o 'q' para salir */ { rewind(in) clrscr(); ======= ============================================ =\n"); printf ("El archivo de salida es:\n"); printf("============================== ======= ======================\n"); while(!feof(en)) { ch1=encrypt(fgetc(en ),26-i); putch(ch1); fputc(ch1,salida); ======= ========================\n"); printf("La clave actual es: %d \n", i); /*Muestra la contraseña actual utilizada*/ printf("Presione 'Q' para salir y otra tecla para continuar.

\n"); printf("==================================== = =======================\n"); ch1=getch(); if(ch1=='q'||ch1=='Q ' )/*Salir al presionar 'Q' o 'q'*/ { clrscr(); printf("\n¡Adiós!\n"); fclose(out); 0 } } printf("\n¡Se acabó el descifrado!\n"); fclose(in); printf ("\n¡Adiós!\n"); dormir(3);

4. Cómo escribir un programa: implemente el cifrado César para cifrar la palabra "julus"

Utilice el siguiente programa: cree un nuevo texto, coloque cualquier palabra, establezca el valor en #define N 5, realizar el cambio de letras y lograr propósitos de cifrado.

Este programa proporciona la función de descifrado/*************************************** *** *************************************//* Copyright: Wang Ming, Escuela de Ingeniería de la Información , tenga en cuenta al utilizar ¡Mostrar la fuente! ! *//* Algoritmo: criptosistema César e799bee5baa6e4b893e5b19e31333264643062 *//************************************** ** *************************************/#include #define N 5void jiami(char namea [256]) { ARCHIVO *fp_jiami,*fp_file2; char c; fp_jiami=fopen(nombrea,"rb"); fp_file2=fopen("file2.txt","wb"); ,"%c ",&c))) { if((c>='A'&&c='a'&&c='A'&&c='a'&&c='a'&&c='A'&&c='a' &&c='A '&&c='a'&&c='A'&&c<='Z')c=c+32; } fprintf(fp_file3,"%c",c } fclose(fp_file3); ); }int main(){ char name[256]; int n; printf ("Ingrese el texto TXT que desea realizar:"); \n"); printf ("1: Cifrado 2: Descifrado\n"); printf ("Ingrese su elección:"); scanf("%d",&n); switch(n) { caso 1:{jiami( nombre);printf( "¡¡\tCifrado exitoso!!\n\n"); descanso;} caso 2:{jiemi(nombre);printf("\tDescifrado exitoso!!\n\n"); descanso;} predeterminado: {printf( "¡La operación de entrada no existe!");} } devuelve 0;}.

5. ¿Quién tiene el código de cifrado y descifrado del cifrado César escrito por PYTHON?

Escribí uno para ti

def convert(c, key, start = 'a', n =. 26 ):

a = ord(inicio)

offset = ((ord(c) - a + tecla)%n)

return chr(a + desplazamiento)

def caesarEncode(s, clave):

o = ""

para c en s:

si c . islower():

o+= convert(c, clave, 'a')

elif c.isupper():

o+= convert(c , clave, 'A')

else:

o+= c

return o

def caesarDecode(s, clave):

return caesarEncode(s, -key)

if __name__ == '__main__':

key = 3

s = ' ¡Hola mundo!'

e = caesarEncode(s, clave)

d = caesarDecode(e, clave)

print e

print d

Resultados de ejecución:

Khoor zruog!

¡Hola mundo!

d.