Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Using C language , Write code that encrypts and decrypts messages in a manner th

ID: 3707385 • Letter: U

Question

Using C language, Write code that encrypts and decrypts messages in a manner that is similar to the Nazi enigma machine.

Your program should take in 4 command line arguments. The first 3 input arguments should set the positions of each rotor. The rotors act like a secret passcode. The same passcode (rotor positions) are needed for encrypting and decrypting the message. The last input argument should set to either ‘e’ or ‘d’. The value e stands for encrypt and d stands for decrypt.

Basically, you have to fill the " TO DO" spaces of the following given code :

Explanation / Answer

#include<stdio.h>

int main() {

char *message,*emessage,*dmessage;

int i,j=0,k,key,temp;

clrscr();

printf(" Enter the key ");

scanf("%d",&key);

key=key%26;

printf(" Enter message ");

fflush(stdin);

gets(message);

for (i=0;message[i]!=NULL;i++)

message[i]=tolower(message[i]);

for (i=0;message[i]!=NULL;i++) {

//printf("%c ",message[i]);

if(message[i]==' ')

emessage[j++]=message[i]; else {

if(message[i]>=48 && message[i]<=57) {

temp=message[i]+key;

if(temp>57)

emessage[j++]=48+(temp-58); else

emessage[j++]=temp;

} else {

if(message[i]>=97 && message[i]<=123) {

temp=message[i]+key;

if(temp>122)

emessage[j++]=97+(temp-123); else

emessage[j++]=temp;

} else

emessage[j++]=message[i];

}

// printf("%c ",emessage[j]);

}

}

emessage[j]='';

printf(" Encrypted message is ");

for (i=0;emessage[i]!=NULL;i++)

printf("%c",emessage[i]);

// printf(" end");

for (i=0,j=0;emessage[i]!=NULL;i++) {

if(emessage[i]==' ')

dmessage[j++]=emessage[i]; else {

if(emessage[i]>=48 && emessage[i]<=57) {

temp=emessage[i]-key;

if(temp<48)

dmessage[j++]=58-(48-temp); else

dmessage[j++]=temp;

} else {

if(emessage[i]>=97 && emessage[i]<=123) {

temp=emessage[i]-key;

if(temp<97)

dmessage[j++]=123-(97-temp); else

dmessage[j++]=temp;

} else

dmessage[j++]=emessage[i];

}

}

}

dmessage[j]='';

printf(" Retrieved message is ");

for (i=0;dmessage[i]!=NULL;i++)

printf("%c",dmessage[i]);

getch();

return(0);

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote