You are on page 1of 6

HEMANTHNAIK 012200300004042

Assignment 1: Caesar Cipher & Cryptanalysis:

Code:
#include <stdio.h>

void encryptMessage(char message[], int key) {


int i = 0; while
(message[i] != '\0') {
if (message[i] >= 65 && message[i] <= 91) {
message[i] = ((message[i]+ key - 65) % 26) + 65;
}
else if (message[i] >= 97 && message[i] <= 122) {
message[i] = ((message[i] + key - 97) % 26) + 97;
}
i++;
}
printf("Encrypted message: %s\n", message);
}

void decryptMessage(char message[], int key) {


int i = 0; while
(message[i] != '\0') {
if (message[i] >= 65 && message[i] <= 91) {
message[i] = ((message[i] - key - 65 + 26 ) % 26 ) + 65;
}
else if (message[i] >= 97 && message[i] <= 122) {
message[i] = ((message[i] - key - 97 + 26 ) % 26 ) + 97;
}
i++;
}
printf("%d Decrypted message: %s\n ", key,message);
}

void cryptoAnalysis(char message[]) {


char tmp[100];
printf("Performing crypto analysis...\n");
HEMANTHNAIK 012200300004042

for (int key = 1; key <= 25; key++) {


strcpy(tmp,message); decryptMessage(tmp,
key);
}
}

int main() {
char message[100];
int choice, key;

printf("Enter the message: ");


fgets(message, sizeof(message), stdin);

printf("Enter your choice:\n");


printf("1. Encrypt\n");
printf("2. Decrypt\n");
printf("3. Crypto Analysis\n");
scanf("%d", &choice);

switch (choice)
{
case 1:
printf("Enter the key for encryption: ");
scanf("%d", &key);
encryptMessage(message, key);
break;
case 2:
printf("Enter the key for decryption: ");
scanf("%d", &key);
decryptMessage(message,key);
break;
case 3:
cryptoAnalysis(message);
break;
default: printf("Invalid
Choice!"); break;
}
return 0;
}
HEMANTHNAIK 012200300004042

Output:

a)Capital Letters:
1. Encryption:

2. Decryption:

3. Cryptanalysis:
HEMANTHNAIK 012200300004042
HEMANTHNAIK 012200300004042

b)Small Letters:
1. Encryption:

2. Decryption:
HEMANTHNAIK 012200300004042

3. Cryptanalysis:

You might also like