Answered step by step
Verified Expert Solution
Link Copied!
Question
1 Approved Answer

must be done in c++ Introduction The Caesar cipher is a substitution cipher where each letter in the original message (called the plaintext) is replaced

must be done in c++

image text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed

Introduction The Caesar cipher is a substitution cipher where each letter in the original message (called the plaintext) is replaced with a letter corresponding to a certain number of letters up or down in the alphabet. The encrypted message (ciphertext) is not easily readable. For example, here's the Caesar Cipher encryption of a message, using a left shift of 3. Plaintext: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG Ciphertext: QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD It is straightforward to recover the original message by using the opposite shift. Task 1 (Weightage 25%) You are asked to write a program that takes a shift value between +/- 26 and a plaintext message (no spaces) and returns the corresponding ciphertext. The program should also implement a decryption routine that reconstructs the original plaintext from the ciphertext Example usage $ ./caesar Enter shift +/- 26: -3 Enter plaintext message (A-Z only, no spaces): THE ciphertext: QEB plaintext: THE or or $ ./caesar Enter shift +/- 26: 1 Enter plaintext message (A-Z only, no spaces): 222 ciphertext: AAA plaintext: 222 We assume that the user message only consists of uppercase English alphabet (A-2). Task 2 (Weightage 25%) You are now to extend the above program to take as inputs files. The program should be able to read a file and encode or decode it as needed For the sake of simplicity, we assume that you only need to change letters [A-Z] in the file. You can safely ignore other letters in the file (i.e., keep those as is.) Encrypting a file to cyphertext Encrypt a file in.txt containing plaintext to a file out.txt containing ciphertext using shift Flag -e here refers to encryption $ ./caesar -e in.txt out.txt Example Consider f1.txt HELLO WORLD THIS IS AMAZING WHY IS THIS 50 AMAZING I HAVE NO IDEA 11231 After running the following command After running the following command $ ./ caesar -e 3 fi.txt f2.txt File f2.txt looks like KHOOR ZRUOG WKLV LV DPOCLQJ 2KB LV WKLV VR OPDCLQJ L KDYH OR LGHD 11231 Decrypting a file to plaintext Decrypting a file in.txt containing ciphertext to a file out.txt containing plaintext using shift . Flag - here refers to decryption $ caesar -d (shift> in.txt out.txt Example After running the following command $ ./caesar -d 3 f2.txt f3.txt File f3.txt looks like HELLO WORLD THIS IS AMAZING WHY IS THIS SO AMAZING I HAVE NO IDEA 11231 Task 3 (Weightage 25%) Now change the code such that the following commands work as intended. Notice here we are using 10 redirection to specify input and output files/streams. Encryption $ ./caesar - 3 f2.txt and $ cat f1.txt./caesar -e 3 > f2.txt Decryption $ ./caesar -d 3 f3.txt and $ cat f2.txt | ./caesar -d 3 > f3.txt Task 4 (Weightage 25%) Thus far the program only handles capital letters A-Z Now add support for small letters a-z and digits 0-9 Assume that for letters shift values are between-26 and +26 and for digits shift values are between 10 and +10. This program will support both input and output files and io redirection Usage Say file in.txt contains Good dos 2 Then the following command create an output file as seen below $ ./caesar -- 1 3 in.txt output.txt Contents of output.txt file Hppe eph 5 Similarly, we can decrypt output.txt to create original.txt as follows $ ./caesar -d 1 3 in.txt original.txt The contents of the original.txt are Good dog 2

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image
Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students explore these related Databases questions