Skip to content

Commit

Permalink
added photos to readme
Browse files Browse the repository at this point in the history
  • Loading branch information
nedlir committed Sep 14, 2023
1 parent 04f992b commit 4f5fb7a
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# (Semi) Secure File Transfer System
# (Semi) Secure File Transfer System :lock:

The Secure File Transfer System is designed to facilitate secure file transfers between clients and a server. It allows clients to register in a database, exchange encryption keys, and securely send files to the server. The system operates in a client-server architecture and attempts to ensure data confidentiality and integrity during file transmission.

This is the final project I completed as part of the course '[Defensive System Programming (20937)](https://www-e.openu.ac.il/courses/20937.htm)' at the Open University of Israel.
This is the final project I completed as part of the course [Defensive System Programming (20937)](https://www-e.openu.ac.il/courses/20937.htm) at the Open University of Israel.

The project implements a partially secure file transfer protocol designed for transferring relatively small files. The client is written in Python 3.9, the server is written in C++11, and the database is managed with MySQL.

The full project specifications can be found [here](readme/project_specifications.pdf).

## Table of Contents
- [Features](#features)
Expand Down Expand Up @@ -39,6 +40,14 @@ The project implements a partially secure file transfer protocol designed for tr

The communication protocol is binary and runs over TCP. All numerical fields are represented as unsigned values in little-endian format. The protocol supports requests and responses between clients and the server. Messages can contain a "payload" field for various content.

Here is a chart flow of a registration request:

![protocol-registration](readme/protocol-registration.jpg)

And here's what a reconnect looks like:

![protocol-reconnect](readme/protocol-reconnect.jpg)


## Encryption

Expand Down
Binary file added readme/project_specifications.pdf
Binary file not shown.
Binary file added readme/protocol-reconnect.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added readme/protocol-registration.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 4f5fb7a

Please sign in to comment.