Develop a program in cpp that encrypts a text file

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

Assignment

Objectives

Practice reading characters from a file
Practice using command line input
Practice using command-line redirection of files
Practice implementing a double transposition ciphering algorithm

Summary

In this assignment, you will develop a program in C++ that encrypts a text file and decrypts a text file using a double tranposition ciphering algorithm. This algorithm is described in the Stamp textbook on pages 26-27. On the command line, the user will enter the name of the program, followed by either "-e" to encrypt or "-d" to decrypt. The text file will be submitted to the program using file redirection on the command line.

Software Requirements

The program shall read through the contents of the input file by way of standard input. This means that the user of the program shall use file redirection on the command line in order for the program to read an existing file. The program shall send its encrypted or decrypted output data to standard output.

The program shall first check the entries on the command line. If the entries are not correct, the program shall print out a usage message and terminate. If the command line entries are correct, the program shall read through the input file "character by character" to fill up a two-dimensional table. Each time the table is filled, the program shall transpose the rows (first) and columns (second) to encrypt the message, and then write the table contents to standard output in the same manner that the table was filled. For decryption, the columns shall be transposed first and then the rows. This process of filling the table, transposing the table rows and columns, and then writing out the table contents shall happen repeatedly. When the final set of characters are read from the input file, the program shall space-fill the remaining table contents so that all cells are filled before the double transposition occurs.

After the program detects the end of the input file and writes out the last characters that were read in, it shall send a message to standard error saying "Encryption is done" or "Decryption is done" and then terminate normally.

The double transposition key shall be hard-coded into the implementation of the algorithm. The two-dimensional table shall have default values of 6 rows and 4 columns. These values shall be declared as global constants near the top of the source code file. The row and column transpositions for encryption shall occur as follows:

Rows: (0, 1, 2, 3, 4, 5) -> (3, 5, 0, 2, 1, 4)
Columns: (0, 1, 2, 3) -> (3, 2, 0, 1)

Reference no: EM131321270

Questions Cloud

Create application with a main menu containing given options : Create an application with a main menu containing the following options: This option must allow the user to see a list of all painting names with their artist name. If there are no paintings available, the user must see an error message.
Construct a frequency distribution of the observed data : Check whether the observed frequency distribution appears to match the expected frequency distribution shown in the binomial distribution in Figure 8.2.
What is the peak current density and peak voltage : What is the peak current density and peak voltage for a abrupt p+/n+ tunnel diode in a direct material? What is the valley current if NTT traps are in the space-charge and quasi-neutral layers?
Immune system organized to fulfill : What three functions is the immune system organized to fulfill? What are the two subdivisions of the immune system, and what is the difference between them?
Develop a program in cpp that encrypts a text file : In this assignment, you will develop a program in C++ that encrypts a text file and decrypts a text file using a double tranposition ciphering algorithm.
What is the peak current density and peak voltage : What is the peak current density and peak voltage for a abrupt p+/n+ tunnel diode in a direct material? What is the valley current if NTT traps are in the space-charge and quasi-neutral layers?
Velocity of the entangled cars after the collision : An 1800 kg car stopped at a traffic light is struck from the real by a 900kg car. The two cars become entangled, moving along the same paths that of the originally moving car. If the smallest car were moving at 20m/s before the collision. What is ..
Maximum speed the car : A 1500 kg car moving on a flat, horizontal road negotiates a curve. If the radius of the curve is 35m and the coefficient of static friction between the tires and dry pavements is 0.523, find the maximum speed the car can have and still make the t..
Propose a plan in which you eliminate the potential : Propose a plan in which you eliminate the potential for the PHC tax on the client's corporation - The corporation has several personal service contracts with advertising agencies and endorsements for your client in addition to passive income.

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Create program that uses functions and reference parameters

Create program that uses functions and reference parameters, and asks user for the outside temperature.

  Write a program using vectors and iterators

Write a program using vectors and iterators that allows a user to maintain a personal list of DVD titles

  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.

  Write a webservices application

Write a webservices application that does a simple four function calculator

  Iimplement a client-server of the game

Iimplement a client-server version of the rock-paper-scissors-lizard-Spock game.

  Model-view-controller

Explain Model-View-Controller paradigm

  Design a nested program

How many levels of nesting are there in this design?

  Convert celsius temperatures to fahrenheit temperatures

Write a C++ program that converts Celsius Temperatures to Fahrenheit Temperatures.

  Evaluate and output the value in the given base

Write C program that will input two values from the user that are a Value and a Base with which you will evaluate and output the Value in the given Base.

  Design a base class shape with virtual functions

Design a base class shape with virtual functions

  Implementation of classes

Implementation of classes Chart and BarChart. Class barChart chould display a simple textual representation of the data

  Technical paper: memory management

Technical Paper: Memory Management, The intent of this paper is to provide you with an in depth knowledge of how memory is used in executing, your programs and its critical support for applications.

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