Software Artifact Term Project

advertisement
2012
Software Artifact
Term Project
Implementation if a file encryption/hashing application using .Net Framework
platform containing Triple DES, MD5, RSA, and HMASHA1 algorithms.
Thomas Brookshire, Evan Washington, Drew White
CS 570 Advanced Computer Security
4/12/2012
Thomas Brookshire
Evan Washington
Drew White
Table of Contents
Background...................................................................................................................................... 3
User Interface Design .................................................................................................................. 6
Application Operation ................................................................................................................. 7
Data Flow Diagram ....................................................................................................................... 8
Thomas Brookshire
Evan Washington
Drew White
Background
Our program is an implementation of a file encryption/hashing application using the .Net
Framework platform using C# .Net. The program will implement the following cryptographic
algorithms:
Triple DES: (Triple Data Encryption Algorithm) block cipher which applies data encryption
standard DES cipher three times to each data block.
DES: (Data Encryption Standard) archetypal block cipher. An Algorithm that takes a fixedlength string of plaintext bits and transforms it through a series f complicated operations into
another ciphertext bitstring of the same length.
Thomas Brookshire
Evan Washington
Drew White
MD5: (Message Digest Hash Algorithm) cryptographic hash function that produces a 128-bit
has value. MD5 is commonly used to check data integrity
Thomas Brookshire
Evan Washington
Drew White
RSA: (Rivest Shamir, Adelman Algorithm) an algorithm for public-key cryptography that is
based on the presumed difficulty of factoring large integers.
HMACSHA1: (Hash Message Authentication Code SHA1 Algorithm) a specific construction
for calculating a message authentication code (MAC) involving a cryptographic has function in
combination with a secret key.
Thomas Brookshire
Evan Washington
Drew White
User Interface Design
The user interface consists of the following components:




Menu bar
Label indicating the chosen file to be hashed or encrypted
Button to clear current data
Text area to display output
File menu
 Open – Opens file directory to select a file on which to implement
hash/encryption functions. If no file is opened before selecting initially, the user
will be required to select a file once the desired operation is chosen.
 Save As – Opens file directory to allow the user to save current data to the desired
location.
 Reset – Clears all current data, including input file selection.
 Generate Keys – Allows user to select either Public Key Only or Public & Private
key to create a key for the RSA encryption on the input file.
 Hash File – Creates MD5 or HMASHA1 hash of the input file, depending on user
selection.
 Encrypt File Contents – Encrypts the input file using TripleDES or RSA
encryption, depending on user selection
Help menu
 About – Shows an about page displaying information regarding the application
and its development
Thomas Brookshire
Evan Washington
Drew White
Application Operation
 If the user chooses to generate RSA keys, they will be prompted to select a location in
which to save the keys.
 Once the user selects a hash/encryption operation on a selected input file, a dialogue box
will appear asking if the user would like to save the file.
◦ If 'Yes' is selected then the user selects the name of the output file and the location in
which to save the file.
◦ If 'No' is selected, the hash/encrypted data is displayed to the text box.
◦ If 'Cancel' is selected, the data is cleared, but the input file is still active in the
application.
 At any point in the application, the user may save the current data through the 'Save As'
option in the file menu.
 All data, including the selected input file can be cleared from the application using either
the 'Clear Data' button or the 'Reset' option in the file menu.
Thomas Brookshire
Data Flow Diagram
Data flow diagram
Evan Washington
Drew White
Download