Security in Computing

Security in Computing

In this assignment you’ll write a program that calculates the checksum for the text in a file. Your
program will take two command line parameters. The first parameter will be the name of the input
file for calculating the checksum. The second parameter will be for the size of the checksum (8, 16,
or 32 bits). The program must generate output to the console (terminal) screen as specified below.

Command Line Parameters
1. Your program must compile and run from the command line.
2. The program executable must be named “checksum” (all lower case, no spaces or file
extension).
3. Input the required file names as command line parameters. Your program may NOT
prompt the user to enter the file names. The first parameter must be the name of the
file used for calculating the checksum, as described below. The second parameter must
be the size, in bits, of the checksum. The sample run command near the end of this
document contains an example of how the parameters will be entered.
4. Your program should open the two files, echo the processed input to the screen, make
the necessary calculations, and then output the ciphertext to the console (terminal)
screen in the format described below.
Program Submission Instructions:
• You must submit your source code file
• The source code file must be submitted in Webcourses from the assignment page
• All source code must be in exactly one file of type .c, .cpp, or .java
Checksum size
The checksum size is a single integer, passed as the first command line argument. The valid values
are the size of the checksum, which can be 8, 16, or 32 bits. Therefore, if the first parameter is not
one of the valid values, the program should advise the user that the value is incorrect with a
message formatted as shown below:
printf(“Valid checksum sizes are 8, 16, or 32\n”);
The message should be sent to STDERR.
Format of the input file
The input file will consist of the valid ASCII characters associated with the average text file. This
includes punctuation, numbers, special characters, and whitespace.
Output Format
The program must output the following to the console (terminal) screen:
1. Echo the input file
2. Print the checksum.
The echoed input text should be in rows of exactly 80 characters per row (not counting the
NEWLINE character), except for the last row, which may possibly have fewer. These characters
should correspond to the input text. The checksum line should be formatted as follows:
X bit checksum is Y for all ZZZ chars
Using the following:
printf(“%2d bit checksum is %8lx for all %4d chars\n”,
checkSumSize, checksum, characterCount);
Where X is the checksum size (checkSumSize) of 8, 16, or 32, Y is the calculated checksum
(checksum), and ZZZ is the character count (characterCount) of the input file. Note that the
checksums are masked to print the appropriate sizes such as two hex characters for 8 bits, 4 hex
characters for the 16 bit checksum, and 8 hex characters for 32 bit checksum. (Note that the format
specifier for the checksum is %8lx, or the percent sign, the number 8, the letter l, and the letter x.)
What to submit to WebCourses
You must submit this assignment’s source code, appropriately commented, via WebCourses.
Program Notes and Hints
Your program must read in an input text file that may contain uppercase letters, lowercase letters
and non-letter characters. Your program should then calculate the checksum appropriately for the
size specified in the command line. Specifically, if the checksum is 8 bits long, each character should
be used as the number to be added to the checksum. Likewise, if the checksum is 16 bits long, each
two characters should be added to the checksum. Note that there is a 50% chance that there will be
one character short on the input file. In that case use the character “X” (an uppercase X) as the pad
character. Similarly, if the checksum is 32 bits, use the same technique and character to pad the
input string appropriately with 1, 2, or 3 pad characters (X). Correspondingly, some adjustment to
the file termination character NEWLINE may be required to match the expected output files.
Sample Run Command
C or C++ program:
Prompt$ ./checksum inputText1.txt 8
Java program:
Prompt$ java checksum inputText1.txt 8
Grading Rubric
The total possible score for this program is 100 points. The following point values will be deducted
for the reasons stated:
[ -100 points ] Your program does not successfully compile from the command line with one of
these commands:
C program: prompt> gcc –o checksum checksum.c
C++ program: prompt> g++ –o checksum checksum.cpp
Java program: prompt> javac checksum.java
Note: If you are submitting a Java program, the class file must be named “checksum.java”
and the class name must be “checksum”.
[-100 point] The program does not accept input file names from the command line.
[ -90 points ] Your program does not run from the command line without error or produces no
output.
[ -70 points ] The program compiles, runs, and outputs the input file (with a maximum of 80
characters per line), but crashes thereafter or produces no checksum output.
[ -25 points ] The program compiles, runs, echoes the input, and calculates the checksum, but the
checksum output is incorrect and it is not formatted correctly (not all input text or not a maximum
of 80 characters per line).
[ no deductions ] The program compiles, runs, echoes the inputs, generates encryption output, the
encryption output is correct (ignoring case), and it is formatted correctly (all lowercase letters, 80
letters per line).
Test Files
The following test files are included for your program testing. All of them are in the ZIP file names
hw2Testing.zip on Webcourses.
hw2Test.sh
in10A.txt
in17A.txt
in18A.txt
in19A.txt
inRF1.txt
inRF2.txt
inWC1.txt
inWC2.txt
s10A-Base16.txt
s10A-Base32.txt
s10A-Base8.txt
s10A-Output16.txt
s10A-Output32.txt
s10A-Output8.txt
s17A-Base16.txt
s17A-Base32.txt
s17A-Base8.txt
s17A-Output16.txt
s17A-Output32.txt
s17A-Output8.txt
s18A-Base16.txt
s18A-Base32.txt
s18A-Base8.txt
s18A-Output16.txt
s18A-Output32.txt
s18A-Output8.txt
sRF2-Base16.txt
sRF2-Base32.txt
sRF2-Base8.txt
sRF2-Output16.txt
sRF2-Output32.txt
sRF2-Output8.txt
sWC2-Base16.txt
sWC2-Base32.txt
sWC2-Base8.txt
sWC2-Output16.txt
sWC2-Output32.txt
sWC2-Output8.txt
Notes:
Filename
conventions File usage notes
inXXXX.txt Input text file. Contains text with a terminating NEWLINE (0x’0a’) NEWLINE
in c is “\n”.
sXXX-BaseXX.txt The expected output for each corresponding input file. For example, given
in10A.txt as input for an 8 bit checksum, the baseline output is s10A-Base8.txt.
Each of the input files has a corresponding baseline output.
sXXX-OutputXX.txt The captured output file for the given input file and checksum size.
Please note that the following:
1 Every input file has a single line of text terminated by the hex character ‘0A’ or the
NEWLINE character.
2 Some input files are less than 80 characters long, others aren’t.
3 More testing files are supplied than are used in the hw2Test.sh script.
4 After uploading the testing shell script (and corresponding files) remember to execute
the command chmod +x *.sh to grant execution privileges for the script.
5 The script is executed at the command line as follows:
./hw2Test.sh checksum.c where the checksum program filename has the correct
extension for your submission.

Essay Research Paper
Calculate your paper price
Pages (550 words)
Approximate price: -

Why we are the best

Best Quality Written Papers

Our writers are trained to read and research widely before writing a paper. This ensures that we have the best end product the gives clients the best grades in class.

Qualified and Experienced writers and editors

Once you place your order, we look for writers who match your requirements. All our writers are highly qualified, but we have to make sure the writers handling your papers understand the field very well.

Free Unlimited Revisions

We understand, at some point, the writer might miss a few points, either through error or omission. In such a case, your paper will be revised, free of charge until you get the best quality.

Timely Delivery and 100% Money-Back-Guarantee

Papers are finished before deadline to enable clients have enough time to peruse and read through and see if any amendments are required. If for one reason we cannot meet the deadline, we ask the client for extension, and if not possible, 100% of the money paid is refunded.

Original & Confidential

We have a team of experienced writers who do original papers, without plagiarizing. We also use several tools to make sure the papers are original. We also make sure that we keep client’s information confidential. No third party can access the details of clients.

24/7 Customer Care

You can reach our support team, any time, any day for all round support and assistance.

Try it now!

Calculate the price of your order

Total price:
$0.00

How it works?

Follow these simple steps to get your paper done

Place your order

Fill in the order form and provide all details of your assignment.

Proceed with the payment

Choose the payment system that suits you most.

Receive the final file

Once your paper is ready, we will email it to you.

Ask For Help

It does not only have to be a paper you do not understand that you seek help, but if you have a tight schedule and homework has to be done, we are here to help you.

Essays

Essay Writing Service

Urgency, academic level or complicated papers should not be an issue to you. This is our specialty. Place your order, get in touch with the support team for any assistance, and let our team provide the best quality papers.

Admissions

Admission Essays

You want to apply to your dream college and you have no idea how to go about it? We will help you write an admission letter that will guarantee you admission to the college.

Reviews

Editing and revision papers

You might have done your paper, and you want it polished, or you failed and want it revised, our pool of professional editors will help you achieve the best.

Reviews

Article/Book Review Services

One of the most challenging academic works is article/book reviews. You no longer have to worry about this subject area. We have an able team that will give the best reviews for your work.