Skip to main content

RSA-encrypted chat software written in Python.

Project description

TTChat

Peer-to-peer chat software written in Python.

What is it for?

TTChat is designed to be a safe chat system that will generate new keys for each session. It's not intended to be used as WhatsApp or a similar chat program, it's for throwaway chats that don't need to/shouldn't be kept.

How is it secured?

TTChat uses 4096-bit long RSA keys for every message, other than for the public key exchange, which cannot be encrypted.
This should not be a problem, as no computer can get the private key from the public key, and the keys are recreated for every new chat session.

How does it work?

Each machine will set up a server socket, and a client socket. The client will try to connect to a specified target, while the server accepts connections and checks if the origin is the target. If it's not, it'll kill the connection and wait for the target to connect. Once both peers have confirmed the targets, they will exchange public keys and be ready to chat.

Requirements

Python v3.6+
If you don't already have it, download it here.
cryptography>=2.8
Download it using pip install "cryptography>=2.8", or download the wheel here and use pip install (.whl file).

Usage

To get the module through PyPi: pip install ttchat.
While TTChat comes with a fully functional __main__.py file, it is mainly meant to demonstrate how TTChat works. You can get the module to build your own UI that will work with any other program that uses TTChat, including the example one.

The __main__.py file

Run it as any other python script, using python or python3 __main__.py. It's a very short piece of code, as it just uses functions from ttchat.p2p. Simply give it a target machine and it'll start trying to connect.
Once you see Ready to receive messages. and/or Ready to send messages., the connection has been completed and messaging is ready.

Documentation

To see how to use the TTChat module yourself, check out the Documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ttchat-0.1.1.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

ttchat-0.1.1-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file ttchat-0.1.1.tar.gz.

File metadata

  • Download URL: ttchat-0.1.1.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2.post20191203 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.4

File hashes

Hashes for ttchat-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2b14919763cb1457b8732d8ced9aeb408b7d068c7d8abdcc3deb2d5422456c35
MD5 1d5c027e00ec081efcdfc22b6ad5768b
BLAKE2b-256 e347f66bffdbf7c243c3eca5e764af190055f5055b30266769c0eba0c211b8b7

See more details on using hashes here.

File details

Details for the file ttchat-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: ttchat-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2.post20191203 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.4

File hashes

Hashes for ttchat-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9bfa96b5be602e11471063eedddd6e51a731e42e63b5eb1f80d8efd511109ebd
MD5 1c18e1c6ad1a52f43835ebf6162ac7a2
BLAKE2b-256 ee2a101656b99de5a643ff146df8f52c6111a024a2e6cbcfa31387a7989733ea

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page