previous questions attached on the images, answer required in c++ 1.4.Write a back-end class called AdvancedAPM11A1Encryptor and save it in a file called AdvancedAPM11A1Encryptor.cpp. This class must inherit the functionality of the APM11A1Encryptor class and add functionality that will enable us to make use of the ExclusiveOR encryption procedure. This class must have the following structure: Inherited Data Members Data Type: int Name: int key Description: This member will store the key that will be used during the encryption process Public Methods Return Type:char Method Signature : encryptACharacter(char character) Description:This method must encrypt the received character by using the key class member and the ExclusiveOR encryption technique. Inherited Methods Method Signature: encryptPage(Page page), setKey(int key 1.5. Write a main program and save it in a file called Run.cpp. In this program you must read a text file that contains sentences into a Page object, encrypt the content using the APM11A1Encryptor class and then write the Page to a new text file called encrypt1.txt by using the PageManager class. 1.6. Read the content of the same source text file into a second Page object, encrypt the content by making use of the AdvancedAPM11A1Encryptor class and then write the Page to a text file called encrypt2.txt by using the PageManager class. During both encryption processes make use of the same key value. After executing your Run.cpp file, open the newly created text files and compare their content. If your encryption worked, the content of the two files should differ.
previous questions attached on the images, answer required in c++
1.4.Write a back-end class called AdvancedAPM11A1Encryptor and save it in a file called
AdvancedAPM11A1Encryptor.cpp. This class must inherit the functionality of the
APM11A1Encryptor class and add functionality that will enable us to make use of the ExclusiveOR encryption procedure. This class must have the following structure:
Inherited Data Members
Data Type: int
Name: int key
Description: This member will store the key that will be used during
the encryption process
Public Methods
Return Type:char
Method Signature : encryptACharacter(char
character)
Description:This method must encrypt the received character
by using the key class member and the ExclusiveOR encryption technique.
Inherited Methods
Method Signature:
encryptPage(Page page), setKey(int key
1.5.
Write a main
that contains sentences into a Page object, encrypt the content using the APM11A1Encryptor
class and then write the Page to a new text file called encrypt1.txt by using the PageManager
class.
1.6.
Read the content of the same source text file into a second Page object, encrypt the content
by making use of the AdvancedAPM11A1Encryptor class and then write the Page to a text
file called encrypt2.txt by using the PageManager class.
During both encryption processes make use of the same key value.
After executing your Run.cpp file, open the newly created text files and compare their
content. If your encryption worked, the content of the two files should differ.
![Question 1
Lai
Background
You are required to write program that will read a fille, encrypt the content of the file, and then
create a new file that contains the encrypted content.
Your program will make use of the following classes:
Page - This class will be used to represent the content of the file that was read.
PageManager - This class will be used to read page content from and to a fille.
APM11A1 Encryptor-This class will be used to encrypt the content of a file using the Caesar-Cipher
method.
AdvancedAPM11A1Encryptor-This class will be used to encrypt the content of a file using the
Exclusive-OR method.
Caesar Cipher
Caesar was a Roman military and political leader during 100BC to 44BC. In order to make the
communication channels secure during war, he invented an encryption technique called the Caesar
Cipher. The cipher requires a sentence and a key to function properly. Each character in the sentence
was then shifted according to the value of the key. Computer programmers adapted the cipher so that
it can be used in programs. Each alphabet letter is assigned a value. This value is determined by the
position of the letter in the ASCII table. E.g. A=65, B-66, C-67, D-68 .... X=88, Y=89, Z-90. The key is
determined by the person who wants to encrypt the sentence. If you select a key=1, and you have a
sentence="TPG11BT is fun", it will encrypt to: UQH22CU!jt! gvo.
Exclusive OR Encryption
The exclusive-OR method requires a key and a sentence to function properly. The ACII value of each
character in the sentence is exclusive-ORed with the key. E.g. If you select a key-1, and you have a
sentence="TPG11BT is fun", it will encrypt to: UQFOCU!hr!gto.
Below is an example of how to exclusive-OR the character
charx = 'T';
chary=x^1;
NB! Please note that you may not add any additional methods or members to the classes of
question 1.1-1.4.
1.1. Write a back-end class called Page and save it in a file called Page.cpp. This class must have the
Data
туре
string
on Exerci
int
cSentences[]
SentenceCounter
Description
This member will store the sentences on the page.
You may assume that a record will never have more
than 34 sentences.
This member will store the number of sentences on
the page.](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fd9171373-499d-4219-b6eb-968144fab7fd%2F07978bee-e4cc-48d6-8dff-117494027131%2F00i0ir_processed.png&w=3840&q=75)
![Public Methods
Return
Type
void
string
int
void
Method Signature
Page()
Public Methods
Return
Type
Page
int
addSentence(string
sentence)
getSentenceAt(int index)
get Number Of Sentences()
1.2. Write a back-end class called PageManager and save it in a
class must have the following structure:
Page
void
Method Signature
loadPageFromFile(string
fileName)
Protected Members
Data
Name
3
writePageToFile(string fileName,
Page page)
Public Methods
Return Method Signature
Type
char
key
1.3. Write a back-end class called APM11A1Encryptor and save it in a file called
APM11A1Encryptor.cpp. This class must have the following structure:
encryptACharacter(char
Description
character)
A default constructor that will initialise
SentenceCounter to zero.
encryptPage(Page page)
This method will place add a sentence to the Page.
You must make use of the cSentences[] array.
This method will retrieve a sentence.
This method will return the number of sentences
there are on the Page.
setKey(int key)
res
This method must read the content of the
specified file into a Page object and return
this Page.
Description
This method must write the content of a
Page object into the specified file.
This member will store the key that will be used during
the encryption process. (You may NOT change the name
of this member)
Description
This method must encrypt the received character
by using the key class member and the Caesar
Cipher encryption technique.
This method will encrypt the content of the
received page parameter by making use of the
encryptACharacter() method.
This method will set the value of the key data
member. (You may NOT change the name of the
input parameter)](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fd9171373-499d-4219-b6eb-968144fab7fd%2F07978bee-e4cc-48d6-8dff-117494027131%2Fk8q21bo_processed.png&w=3840&q=75)
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 4 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)