Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Assignment Overview Cryptography is the science of replacing information such as text with a different set of text, such that the original text can no
Assignment Overview Cryptography is the science of replacing information such as text with a different set of text, such that the original text can no longer be easily determined. Numerous algorithms exist for this, and you'll get to implement a few in this assignment. In the process, you'll practice file L/O as well as inheritance. Interfacen Full Credit: Using git (3+ commits), define a virtual class (an interface) for encrypting and decrypting text. Derive 2 implementations from this interface, one for Rot13, the other+Cypheri) for a simple Substitution cypher. In addition to your usual test encrypttunencrypted: string):string code, write a main program that will encrypt a file test.txt to- chars processed): int an encrypted file test.txt.rot13 or test.txt.subst or vice-versa. #chars processed(num: i Deliver file CSE1325_04.zip to Blackboard. In subdirectory chars: int + decryptfencrypted: string): string including files main.cpp, c rot13.h and Makefile, and cypher1.png through n (as manyectunencrypted: string): string screenshots as you deem useful) demonstrating Rot 13 + Rot130 dec strin Bonus: Using git (3+ additional commits) and the above code, add an XOR implementation using an image file as Substitution key : string dekey: stri encryption key, producing text.txt.xor. Update t ests andSubstitutionkey: string +encrypt(unencrypted : string):string +decrypt(encrypted: string): string : string): strin Extreme Bonus: Using git (3+ additional commits), add a new class Async that implements any simply asynchronous key encryption algorithm (the common "best practice" actually used for Internet, credit card, and other serious security applications). Update tests and main to support it. In CSE1325_04.zip subdirectory "extreme bonus, include all files required for Bonus above as well as async.h, async.cpp, an updated class diagram, and any other supporting files you require. You have a lot of leeway in the design and implementation of this code! 1 Adds string as the return type in the UML for Substitition:encrypt and Substitution: decrypt Assignment Overview Cryptography is the science of replacing information such as text with a different set of text, such that the original text can no longer be easily determined. Numerous algorithms exist for this, and you'll get to implement a few in this assignment. In the process, you'll practice file L/O as well as inheritance. Interfacen Full Credit: Using git (3+ commits), define a virtual class (an interface) for encrypting and decrypting text. Derive 2 implementations from this interface, one for Rot13, the other+Cypheri) for a simple Substitution cypher. In addition to your usual test encrypttunencrypted: string):string code, write a main program that will encrypt a file test.txt to- chars processed): int an encrypted file test.txt.rot13 or test.txt.subst or vice-versa. #chars processed(num: i Deliver file CSE1325_04.zip to Blackboard. In subdirectory chars: int + decryptfencrypted: string): string including files main.cpp, c rot13.h and Makefile, and cypher1.png through n (as manyectunencrypted: string): string screenshots as you deem useful) demonstrating Rot 13 + Rot130 dec strin Bonus: Using git (3+ additional commits) and the above code, add an XOR implementation using an image file as Substitution key : string dekey: stri encryption key, producing text.txt.xor. Update t ests andSubstitutionkey: string +encrypt(unencrypted : string):string +decrypt(encrypted: string): string : string): strin Extreme Bonus: Using git (3+ additional commits), add a new class Async that implements any simply asynchronous key encryption algorithm (the common "best practice" actually used for Internet, credit card, and other serious security applications). Update tests and main to support it. In CSE1325_04.zip subdirectory "extreme bonus, include all files required for Bonus above as well as async.h, async.cpp, an updated class diagram, and any other supporting files you require. You have a lot of leeway in the design and implementation of this code! 1 Adds string as the return type in the UML for Substitition:encrypt and Substitution: decrypt
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