Build a randomly generated simple substitution cipher

Assignment Help C/C++ Programming
Reference no: EM13706700

1. Learner Objectives:

At the conclusion of this programming assignment, participants should be able to:

Design, implement and test classes in C++ Apply and implement ? overloaded? operators and functions Design and implement classes using inheritance

II. Prerequisites:

Before starting this programming assignment, participants should be able to:

?Analyze a basic set of requirements for a problem

?Compose basic C++ language programs

?Create basic test cases for a program

?Apply arrays, strings, and pointers

?Declare and define ? constructors

?Declare and define ? destructors

?Compare and contrast ? public? and ? private? access specifiers in C++

?Describe what is an ? attribute? or data member of a class

?Describe what is a ? method? of a class

? Apply and implement ? overloaded? functions

?Distinguish between pass-by-? value? and pass-by-? reference

?Discuss ? classes? versus ? objects

III. Overview & Requirements:

NOTE:? Parts of this assignment are courtesy of Jack Hagemeister.

Security and secrecy are popular topics in computer science. Every nation in the world has struggled with the task of communicating important information to its allies and armies at the same time trying to keep that information secret from others. In this assignment, you will be implementing some simple ciphers from history and look at ways to "decode" them.

You will find that the use of modern computers makes decoding of some of these very easy.

You should first review some information about ciphers. Start at the following web site, Codes, Ciphers, & Codebreaking? . It has an excellent introduction into the classic / historical Ciphers. You will need to read at least the first section, but I recommend reading sections 2 and 3 as well. These sections include: "1.0: Introduction to Codes, Ciphers, & Codebreaking", "2.0: Refining the Art", and "3.0 The Rise of Field Ciphers".

You will design objects for each of the two encryption techniques required. Each object should hold a message that is either "clear text" or "encrypted". You should be able to create any object around a string of text and an indicator of its status. You should have methods to retrieve the clear text or encrypted message from the object no matter how it is stored. Ok, so there are some other issues. If you have an encoded message and do not know the key in the Caesar Cipher or the substitution cipher you need methods to interact with the message to try and determine the key. For the Caesar Cipher this is simply being able to test each key number from 1 through 25. You probably do not even have to do anything special except in the calling program. For the substitution cipher, you will have to have a method that does frequency analysis, and gives you a best guess. You may want to be able to put in substitutions as well to correct any problems that you find in the analysis.

0.? ? Build a basic cipher base class that may be derived from for the ciphers described below.

1.? ? Encode a text message using the Caesar Cipher, a mono-alphabetic substitution cipher. You will need to input the KEY number from 1 to 25. Do not encode special characters or white space. All encoded text should be upper case only. You should be able to save an encoded message to a file.

2.? ? Decode a Caesar Cipher text. You will have two cases:

a.? ? You are given the KEY.

b.? ? You have to break the KEY by brute force trial and error.

3.? ? Build a randomly generated simple substitution cipher and use it to encode messages. Again the encoded messages will be in all upper case letters only. Only encode the letters.

4.? ? Build a method for performing frequency analysis to decode a substitution cipher. Your system should determine the frequency of characters in the

5.? ? Build a standard text-based wrapper/class for the application.

Reference no: EM13706700

Questions Cloud

Discuss how the public availability of the internet drove : Discuss how the public availability of the Internet drove innovation in the 1990s. Give at least one example each of a company or industry that benefited and one that was damaged by the advent of the Internet
The customer systems website : Build a duration estimate using Microsoft Excel for the Customer Systems Website. Part Two: Develop a network diagram based on the primary tasks and a Gantt (Bar) chart for a schedule, using MS Excel, MS Word.
Discuss the challenge in managing complexity : Discuss the challenge in managing complexity and variability in support processes associated with service systems design.
Include incentives for outstanding performance : a. Include incentives for outstanding performance b. Describe the payment process in detail in order to avoid confusion
Build a randomly generated simple substitution cipher : Design, implement and test classes in C++ Apply and implement ? overloaded? operators and functions Design and implement classes using inheritance
Description of the organization and its primary stakeholder : A description of the organization and its primary stakeholders. Include the vision and mission statement if they are available to the public, and the code of ethics if the company has one (if it is long, an excerpt or description is an acceptab..
Submit a clickable rubric assignment : Students, please view the "Submit a Clickable Rubric Assignment" in the Student Center. Instructors, training on how to grade is within the Instructor Center.
Determine how organizations such as mbe can help business ow : •From the first e-Activity, determine how organizations such as MBE can help business owners put at least one of the models built around social networks into practice. Support your position. •From the first e-Activity, determine two to three bus..
Identify three potential research topics. : Review the Final Research Paper instructions in Week Five, and identify three potential research topics. Describe methods that may be helpful in identifying and narrowing your research paper topic. Examine two scholarly sources that may prove valu..

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Write a program in c that will find smallest value

Write a programe c that will find the smallest, largest and average values in a collection of N numbers.Get the value of N before scanning each value in the collection of N numbers.

  Searching f and removing certain states from the hash table

use the class hashT, ''Hashing: Implementation Using Quadratic Probing,'' which uses quadratic probing to resolve collision, to create a hash table to keep track of each state's information. Use the state's name as the key to determine the hash addre..

  Prepare a businesspartner

Prepare a BusinessPartner class that contains a company name, first name and a telephone number.

  Wrie a program that will generate a list of 10000 numbers

Wrie a program that will generate a list of 10000 numbers stored in an array with values 1 and 500.Print out any original 200 numbers to show the results(not one number per line either).Now sort the number using bubble sort

  Write a c++ statement that multiplies the value

Write a program that prompts the user to input a decimal number and outputs the number rounded to the nearest integer.

  Program reads a number and prints all of its binary digit

Write a program that reads a number and prints all of its binary digits. Print the remainder number % 2, thenreplace the number with number / 2. Keep going until the number is 0.

  Which of the following is a true statement

Which of the following is a true statement?

  Dynamic character arrays

Dynamic character arrays str and add contain strings. Write a function append that uses str and add as arguments and appends add to the end of str. Write a main program that illustrates the use of function append to concatenate five strings.

  Numbers until the user wants and in the end display

Write a C program to enter the numbers until the user wants and in the end display the product of numbers entered by the user. The program should terminate once the user enters the character 'n' and continue computing product if user enters 'y'

  Write the code required to analyse and display the data

Calculate and store the average for each row and column. Determine and store the values for the Average Map.

  Is the code properly commented

Does each case in a switch statement terminate with a break? Is there a default case?

  Function that accepts a pointer to a c-string

Write a function that accepts a pointer to a C-string as an argument and returns the number of words contained in the string. Also have it display the average number of letters in each word.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd