Skip to content

Partially secure file transfer protocol designed for transferring relatively small files.

Notifications You must be signed in to change notification settings

nedlir/Secure-File-Transfer-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

(Semi) Secure File Transfer System 🔒

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) at the Open University of Israel.

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

The full project specifications can be found here (Hebrew).

Table of Contents

Requirements

To successfully use and compile the Secure File Transfer System, you will need the following software and libraries installed:

For the Python Server:

  • Python: Ensure you have Python 3.9 or a compatible version installed on your system.

  • Crypto.Cipher: You will need the Crypto.Cipher library for encryption. You can install it using pip with the following command: pip install pycryptodome.

For the C++ Client: