Polyalphabetic Cipher Program

 *PROGRAM*

#include<stdio.h>

#include<conio.h>

#include<string.h>

int main()

{

char pt[20]={'\0'},ct[20]={'\0'},key[20]={'\0'},rt[20]={'\0'};

int i,j,choice;


do

{

printf("\n1. Encryption");

printf("\t2. Decryption");

printf("\t3. Exit");

printf("\nEnter choice: ");

scanf("%d",&choice);

switch(choice)

{

case 1:

printf("\nEnter the plain text:");

scanf("%s",&pt);


printf("\nEnter the key:");

scanf("%s",&key);


j=0;

for(i=strlen(key);i<strlen(pt);i++)

{

if(j==strlen(key))

{

j=0;

}

key[i]=key[j];

j++;

}

printf("\nNew key is:%s\n",key);


for(i=0;i<strlen(pt);i++)

{

ct[i]=(((pt[i]-97)+(key[i]-97))%26)+97;

}

printf("\nCipher text is:%s\n",ct);

break;

case 2:

printf("\nEnter the plain text:");

scanf("%s",&ct);


printf("\nEnter the key:");

scanf("%s",&key);

for(i=0;i<strlen(ct);i++)

{

if(ct[i]<key[i])

{

rt[i]=26+((ct[i]-97)-(key[i]-97))+97;

}

else

rt[i]=(((ct[i]-97)-(key[i]-97))%26)+97;

}

printf("\nPlain text is:%s",rt);

break;

case 3:

break;

}

}while(choice<3);

return 0;

}

  *OUTPUT*

    

No comments:

Post a Comment