Cryptography features implemented using Pycryptodome: https://pycryptodome.readthedocs.io/en/latest/src/signature/signature.html
- pycryptodome
- pyfiglet
- Direct Messaging: run script scripts/run.sh with the command
./run.sh [hostname] [server_port] [ca_port] - Group Messaging: run script scripts/run_group.sh with the command
./run_group.sh [hostname] [server_port] [ca_port] - Reseting keys and data base: run scrip scripts/reset.sh with the command
./reset.sh
In the /src folder you can find each of these command line programs
- Server.py: The server that relays messages and information between clients
python3 Server.py [server_port] - CA.py: The Certificate Authority that will create signatures for the user's public keys
python3 CA.py [ca_port] - Client.py: The main user interface. Here the client can create an account and loggin, as well as send and receive messages
python3 CA.py [host_name] [server_port] [ca_port]
CA.py and Server.py need to be running before Client.py clients are added to the network.
Client.py command line interface
:helpfor a list of commands- NOTE: the
>symbol must appear before writting a command (press enter if not present) - NOTE: Contacts must be added before sending a message
The database and keys are stored locally, so some storage must be free for these to be saved.