Skip to content

SecureDrop is a End-To-End Encrypted File Transfer System. Letting two instances communicate and send encrypted files through python sockets to one another. (file limit 2 gb)

Notifications You must be signed in to change notification settings

JacobNoahGlik/SecureDrop

Repository files navigation

Secure Drop

A secure version of airdrop
By: Jacob Glik, and Peyton Somerville

Prerequisites

Python Packages

  • cryptography
    • pip install cryptography
    • python3 -m pip install cryptography
  • stdiomask
    • pip install stdiomask
    • python3 -m pip install stdiomask
  • tinyec
    • pip install tinyec
    • python3 -m pip install tinyec
  • cffi
    • pip install cffi
    • python3 -m pip install cffi


Instructions

Type python3 secureDrop.py to run Secure Drop.

Type python3 reset.py to reset Secure Drop and erase all data.



Usage Note:

Secure Drop will work best on Windows. The functionality may be limited when running on other operating systems.
The size of files is limited to 2 GB when transferring between instances of Secure Drop.


Implements

Complete "end-to-end encryption"
  1. Credit Authority validates clients and their asymmetric encryption keys
  2. An ECDH Key Handshake is performed between the two parties before every message to ensure Perfect Forward Secrecy
  3. All communication is symmetrically encrypted using the symmetric key generated from the ECDH Key Handshake step above
  4. The file system is tamper-proof due to the FileCredibility system

About

SecureDrop is a End-To-End Encrypted File Transfer System. Letting two instances communicate and send encrypted files through python sockets to one another. (file limit 2 gb)

Resources

Stars

Watchers

Forks

Packages

No packages published