Popușoi Alexandru Grupa: B-1841: Lucrare de Laborator NR 2 Tema: Operații Criptografice, Protocoale Criptografice
Popușoi Alexandru Grupa: B-1841: Lucrare de Laborator NR 2 Tema: Operații Criptografice, Protocoale Criptografice
Codul sursa:
Fișierul lab1.c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "csr.c"
char *prg=argv[0];
char *opt=argv[1];
char *msg=argv[2];
if(argc == 1) {
exit(3);
if(argc == 2) {
if(opt[0] == '-') {
exit(2);
//int m;
if(argc == 3) {
if(strcmp(opt,"-Ecsr") == 0)
printf("Simple encryption\n");
CSR_encrypt(msg);
else if(strcmp(opt,"-Ecsrm") == 0)
printf("Math Encryption\n");
CSR_enc_math(msg);
else if(strcmp(opt,"-Dcsr") == 0)
printf("Simple Decription\n");
CSR_decrypt(msg);
else if(strcmp(opt,"-Dcsrm") == 0)
printf("Math Decryption\n");
CSR_decrypt_math(msg);
else {
exit(1);
if(argc > 3) {
fprintf(stderr, "too many strings!!!");
exit(0);
Fișierul csr.c
#include "vars.c"
printf("key: ");
scanf("%i", &key);
if(msg[i] == letters[j])
else
k = ( j + key ) - strlen(letters);
enc[i] = letters[k];
printf("enc: ");
printf("%c", enc[i]);
printf("\n");
}
void CSR_enc_math(char msg[])
printf("key: ");
scanf("%i", &key);
if(msg[i] == letters[j])
k = ( j + key ) % strlen(letters);
enc[i] = letters[k];
else
k = ( j + key ) - strlen(letters);
enc[i] = letters[k];
printf("enc: ");
printf("%c", enc[i]);
printf("\n");
printf("key: ");
scanf("%i", &key);
if(msg[i] == letters[j])
k = ( j - key ) % strlen(letters);
dec[i] = letters[k];
else
k = ( j - key )+ strlen(letters);
dec[i] = letters[k];
printf("dec: ");
printf("%c", dec[i]);
printf("\n");
printf("key: ");
scanf("%i", &key);
if(msg[i] == letters[j])
k = ( j - key ) % strlen(letters);
dec[i] = letters[k];
else
k = ( j - key ) + strlen(letters);
dec[i] = letters[k];
printf("dectyption: ");
printf("%c", dec[i]);
printf("\n");
Fișierul vars.c
char letters[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char enc[25];
char dec[25];
int key, i, j, k;
Screenshoturi
Verificăm corectitudinea criptării:
Verificăm corectitudinea decriptării: