afmartin / CMPT361-Spycomm

1 stars 1 forks source link

SPYCOMM AND SPYCOMMD

CMPT 361 - Introduction to Networks

Instructor: Dr. Nicholas M. Boers

Assignment 3

MacEwan University

Group 4: Nick, John, Alex, Kevin


Purpose

Spycomm and spycommd are a pair of programs meant for secure file transmission. It securely transfers files by encrypting and decrypting files using an OTP (one time pad) that both the client (spycomm) and server (spycommd) have. The OTP shall never be re-used, and the server manages what was used.

Usage

The server (spycommd) can be initialized simply by executing the program:

./spycommd [-p PORT_NUMBER] 

If a port number is not specified, spycommd will use the default port: 36115.

The user can send files using the client (spycomm):

./spycomm -c HOST -p PORT -o OTP_PATH FILE_PATH.... 

The server and client must have access to the same OTP. An OTP can be generated using the included script "otp.sh", although any method can be used to generate the OTP. The filename should be the MD5 digest with an extension of ".dat" and be placed in the otp folder for the server. The "otp.sh" script automates this process. For maximum security, OTPs should be given using a physical medium rather than over a network. The OTP should always be bigger than the file(s) needing to be transferred.

Usage for otp.sh:

./otp.sh SIZE...

Where SIZE is the size of the OTP to generate in KiB. Multiple OTPs can be generated by passing more sizes as arguments.

The server will save the files in a folder called "serverfiles" in the same directory as spycommd. The received files from a session will be saved in a folder consisting of the date time stamp and a unique number. A file will always be added in each folder called "info.txt" which contains information about the data transmission session. If a file was sent with the name "info.txt" it will append the name with another ".txt".

Spycomm and spycommd will always write to a log named "spycomm.txt" and "spycommd.txt" respectively.

Notes