Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Requirements The # symbol denotes user input $ python 3 vigenere.py - e Enter the key: helloworld Enter the plaintext: #The quick brown fox jumps
Requirements The # symbol denotes user input
$ python
vigenere.py e
Enter the key: "helloworld
Enter the plaintext: #The quick brown fox jumps over the lazy dog.
Ciphertext is: Alp bieqb muvay qct xlxsz sgpf pvv wdgc ozu.
$ python
vigenere.py d
Enter the key: "helloworld
Enter the ciphertext: #Alp bieqb muvay qct xlxsz sgpf pvv wdgc ozu.
Plaintext is: The quick brown fox jumps over the lazy dog.
Grouping
$ python
vigenere.py e g
Enter the key: "helloworld
Enter the plaintext: #The quick brown fox jumps over the lazy dog.
Ciphertext is: ALPBI EQBMU VAYQC TXLXS ZSGPF PVVWD GCOZU
$ python
vigenere.py d g
Enter the key: thelloworld
Enter the ciphertext: #Alp bieqb muvay qct xlxsz sgpf pvv wdgc ozu.
Plaintext is: THEQU ICKBR OWNFO XJUMP SOVER THELA ZYDOG
$ python
vigenere.py e g
Enter the key: "helloworld
Enter the plaintext: #The quick brown fox.
Ciphertext is: ALPBI EQBMU VAYQC T
In the third example, since we didn't have enough characters to make a full group, our last group
just wont have the full amount.
Errors
$ python
vigenere.py
Error: Cannot have both encrypt and decrypt mode.
$ python
vigenere.py g
Error: Program mode was not specified. Use e for encrypt and d for decrypt.
$ python
vigenere.py
Error: Program mode was not specified. Use e for encrypt and d for decrypt.
$ python
vigenere.py e
Error: You must supply an integer of at least zero with the grouping flag.
Handling user input
$ python
vigenere.py e
Enter the key: Habcd
Error: Keys must be at least character, and consist only of alphabetic characters.
Enter the key: Habcd
Enter the plaintext: HHello, World!
Ciphertext is: Hfnoo, Xqule!
$ python
vigenere.py e
Enter the key:
Error: Keys must be at least character, and consist only of alphabetic characters.
Enter the key: Habcd
Enter the plaintext: #Hello, World!
Ciphertext is: Hfnoo, Xqule!
$ python
vigenere.py e
Enter the key: Habcd
Enter the plaintext: #
Ciphertext is:
It is okay for the user to not enter a message. The key is required, though. You should keep asking
for the key until a valid one is provided by the user.
Your program will be required to both encrypt and decrypt ciphertext. The mode is specified by a
program argument flag, e for encrypt mode, and d for decrypt mode.
Your program should work for both upper and lowercase plaintextciphertextkeys even if the key
and plaintextciphertext do not have the same case as eachother.
Your program should also have another option for grouping output characters together. This can be
specified by the
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started