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

  Program to handle various string operations.

Write a main program that calls the function with the pointer to the string and the number of characters from the end (not including the end of string character)

  Write a c++ program that displays a table showing the price

write a C++ program that displays a table showing the price of silver and gold.

  Write a digital music manager

Your DMM program must have a text-based interface which allows the user to select from a menu of options including: load, store, display, insert, delete, edit, sort, rate, and exit. The "load" option reads records from a file into a dynamic doubly..

  Program to calculate word ladders where single-character

Write down a program in C++ to calculate word ladders where single-character substitutions have the cost of 1, and single-character additions or deletions.

  Computer graphicsdevelop a simple interactive

computer graphicsdevelop a simple interactive two-dimensional spaceship deck plan editor using opengl and glut. your

  Write program using c language to find page fault

Write program using c language to find page fault for individual processes, group of processes and system as whole using following system call int sys_pgfltstats(pid_t pid,int flag,pf_info_struct *info).

  What is meant by value type and reference type objects

Explain what is meant by value type and reference type objects in C#. Explain the differences, providing an example of each. Write the code for an example of each. Develop your examples, instead of using examples from the textbook or the Internet

  Implement a time class that represent a specific time of day

Implement a Time class. Each object of this class will represent a specific time of day, storing the hours, minutes, and seconds as integers.

  Write a printf or scanf statement

Write a printf or scanf statement for each of the following:a. Print unsigned integer 40000 left justified in a 15-digit field with 8 digits.b. Read a hexadecimal value into variable hex.

  Is a void function a function that does not return a value?

Is a void function a function that does not return a value?

  Create a program that stores names in an array

In c++ create a program that stores names in an array. Also the program will end when "quit" is entered. Use a menu with the options: getName, sortName,displayName, findName, removeName.

  Write the c++ programming language that has an sql query

This laboratory provides some experience working with the C++ programming language that has an SQL query and SQL update embedded in it.

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