Answers for "one time pad cipher program in c"

C
0

one time pad cipher program in c

//One Time Pad Cipher
#include <stdio.h>
#include <string.h>
#include <ctype.h>
main()
{
    //All the text which ever entered is converted to upper and without spaces
    int i, j, len1, len2, numstr[100], numkey[100], numcipher[100];
    char str[100], key[100], cipher[100];
    printf("Enter a string text to encrypt\n");
    gets(str);
    for (i = 0, j = 0; i < strlen(str); i++)
    {
        if (str[i] != ' ')
        {
            str[j] = toupper(str[i]);
            j++;
        }
    }
    str[j] = '\0';
    //obtaining numerical plain text ex A-0,B-1,C-2
    for (i = 0; i < strlen(str); i++)
    {
        numstr[i] = str[i] - 'A';
    }
    printf("Enter key string of random text\n");
    gets(key);
    for (i = 0, j = 0; i < strlen(key); i++)
    {
        if (key[i] != ' ')
        {
            key[j] = toupper(key[i]);
            j++;
        }
    }
    key[j] = '\0';
    //obtaining numerical one time pad(OTP) or key
    for (i = 0; i < strlen(key); i++)
    {
        numkey[i] = key[i] - 'A';
    }

    for (i = 0; i < strlen(str); i++)
    {
        numcipher[i] = numstr[i] + numkey[i];
    }
    //To loop the number within 25 i.e if addition of numstr and numkey is 27 then numcipher should be 1
    for (i = 0; i < strlen(str); i++)
    {
        if (numcipher[i] > 25)
        {
            numcipher[i] = numcipher[i] - 26;
        }
    }
    printf("One Time Pad Cipher text is\n");
    for (i = 0; i < strlen(str); i++)
    {
        printf("%c", (numcipher[i] + 'A'));
    }
    printf("\n");
}
Posted by: Guest on July-25-2021

Code answers related to "one time pad cipher program in c"

Code answers related to "C"

Browse Popular Code Answers by Language