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.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

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.

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.
Transcribed Image Text: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.
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)
Transcribed Image Text: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)
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps

Blurred answer
Knowledge Booster
File Input and Output Operations
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education