CNS Practical-5

#include <stdio.h>
#include <string.h>

void encrypt(char* text, char* key, char* result) {
    int textLen = strlen(text);
    int keyLen = strlen(key);
    for (int i = 0; i < textLen; i++) {
        result[i] = ((text[i] - 'A') + (key[i % keyLen] - 'A')) % 26 + 'A';
    }
    result[textLen] = '\0';
}

void decrypt(char* cipher, char* key, char* result) {
    int textLen = strlen(cipher);
    int keyLen = strlen(key);
    for (int i = 0; i < textLen; i++) {
        result[i] = ((cipher[i] - key[i % keyLen] + 26) % 26) + 'A';
    }
    result[textLen] = '\0';
}

int main() {
    char text[100], key[100], encrypted[100], decrypted[100];

    printf("Enter plaintext (uppercase letters only): ");
    scanf("%s", text);

    printf("Enter key (uppercase letters only): ");
    scanf("%s", key);

    encrypt(text, key, encrypted);
    printf("Encrypted: %s\n", encrypted);

    decrypt(encrypted, key, decrypted);
    printf("Decrypted: %s\n", decrypted);

    return 0;
}

Leave a Comment

Your email address will not be published. Required fields are marked *

error: Content is protected !!
Scroll to Top