https://github.com/nitsc/chrayptor
A command-line communication software focused on human rights, utilizing advanced algorithms to protect your privacy and security. It’s the international version of Chraypt, with integrated Tor support.
https://github.com/nitsc/chrayptor
aes argon2 blake3 curve25519 decrypt digital-signature ecc ecdh eddsa encrypt hash p2p p2p-chat python3 sha3-512 sha512 sm4 socks5 tor tor-network
Last synced: about 1 month ago
JSON representation
A command-line communication software focused on human rights, utilizing advanced algorithms to protect your privacy and security. It’s the international version of Chraypt, with integrated Tor support.
- Host: GitHub
- URL: https://github.com/nitsc/chrayptor
- Owner: nitsc
- License: agpl-3.0
- Created: 2025-01-20T10:23:38.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-01-21T05:41:22.000Z (3 months ago)
- Last Synced: 2025-01-29T16:14:21.097Z (3 months ago)
- Topics: aes, argon2, blake3, curve25519, decrypt, digital-signature, ecc, ecdh, eddsa, encrypt, hash, p2p, p2p-chat, python3, sha3-512, sha512, sm4, socks5, tor, tor-network
- Language: Python
- Homepage: https://github.com/nitsc/Chraypt/
- Size: 111 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Overview

A command-line communication software focused on human rights, utilizing advanced algorithms to protect your privacy and security. It’s the international version of Chraypt, with integrated Tor support. See https://github.com/nitsc/chraypt for China special edition, Chraypt.# Development Objectives
## Overview
We firmly believe that everyone has their own human rights.
## Program Dev
- Developers must adhere to the principles of human rights
- Prohibit the collection of all information about Chrayptor users.
- Adhere to Chrayptor's P2P, E2E, decentralized, and Tor features.
- Adhere to the security and privacy of Chrayptor.
- Adhere to the principles of high open source and free modification of source code.# Objective Standard
## Languages
- **Rust**: After Python prototyping, rewrite Chrayptor in Rust.
- **Python**: may retain some Python parts.
- **Go**: possibly use Chrayptor for key parts of network concurrency.
## Algorithms
### Symmetric encryption: used to encrypt large amounts of data, fast speeds
- **AES** (Advanced Encryption Standard): widely used in communication protocols (e.g., TLS) **(implemented)**
- **ChaCha20**: a stream cipher, often used in conjunction with Poly1305 message authentication codes to provide efficient and secure encryption and authentication
- **SM4**: a commercial cryptographic algorithm released by the State Cryptography Administration of China (SCCA) and widely used in the financial and government sectors in China **(Implemented)**### Asymmetric encryption
- **ECC** (Elliptic Curve Cryptography): more efficient than RSA, suitable for mobile devices **(Implemented)**
- **SM2**: an elliptic curve public key cryptography algorithm standard published by the State Cryptography Administration of China (SCCA) **(canceled, because it is not widely used and documented at present)**
- **NTRU** (Nth Degree Truncated Polynomial Ring Units): a Lattice-based public key cryptography algorithm.
- **Lattice-based Cryptography**: Lattice-based Cryptography
- **Code-based Cryptography**: is a post-quantum cryptography approach that uses the difficulties of error-correcting code theory to construct cryptosystems### Key exchange algorithms
- **Diffie-Hellman** (DH): used to securely generate shared keys **(canceled because of the high efficiency of the key ECDH and the low quantum security)**
- **ECDH** (Elliptic Curve Diffie-Hellman): based on elliptic curves, more efficient **(implemented)**
- **Kyber**: is a lattice-based key exchange protocol that is a candidate for the NIST Post-Quantum Cryptography Standardization Project
- **Curve25519**: is an elliptic curve for efficient and secure cryptographic protocols, especially in the implementation of public-key cryptography and key exchange protocols **(Implemented)**
- **CSIDH** (Commutative Supersingular Isogeny Diffie-Hellman) is a post-quantum key exchange protocol based on the homology of supersingular elliptic curves **(canceled, since there is currently no mature CSIDH library)**### Digital signature algorithms
- **ECDSA** (Elliptic Curve Digital Signature Algorithm): is a widely used digital signature algorithm based on elliptic curve cryptography (ECC)
- **SM2**: based on the elliptic curve discrete logarithm puzzle
- **EdDSA** (Edwards-curve Digital Signature Algorithm): digital signature algorithm based on Edwards curves **(implemented)**### Hash Algorithm
- **SHA3-512**, **SHA2-512**,: high security, widely used for data integrity verification, signature verification **(Implemented)**
- **Argon2**: specifically designed to resist brute-force attacks on hardware acceleration such as GPUs and ASICs **(Implemented)**
- **BLAKE3**: very modern and high performance **(Implemented)**
- **SM3**: standard for cryptographic hashing algorithms published by the Chinese State Cryptography Bureau **(canceled, as it is not widely used and documented at the moment)**### Random number generation algorithm
- **CSPRNG** (Cryptographically Secure Pseudo-Random Number Generator) **(realized)**### Communication protocols
- **TLS**: (Transport Layer Security): implements encrypted transport, authentication **(implemented, but client-side authentication is temporarily disabled because SSL does not trust self-signed certificates)**
- **Noise Protocol Framework** (Transport Layer Security): for modern communication software
- **Tor**: access to the Tor network **(Implemented)**
- **I2P**: Access to I2P networks.### Zero Knowledge Proofs
- zk-SNARKs, zk-STARKs# Using Instructions
## Install and set Tor
### Ubuntu based Linux
```bash
sudo apt update
sudo apt install tor
```
### Windows
- Download and Install [Tor Expert Bundle](https://www.torproject.org/download/tor/).
- Findout the tor.exe, donnot run it.## Set up the Tor HiddenService
### Find torrc out
- Linux: /etc/tor/torrc
- Windows: C:\Users\\AppData\Roaming\tor\torrc
If ther isn't any torrc here, try to build file 'torrc'
### Edit torrc
Write this to torrc:
```torrc
HiddenServiceDir "path\\to\\your\\tor-expert-bundle-windows-x86_64-14.0.4\\tor\\hidden_service\\"
HiddenServicePort 80 127.0.0.1:52000
ControlPort 9051
CookieAuthentication 1
SocksPort 9050
```## Restart Tor
### Linux
```bash
sudo systemctl restart tor
```
### Windows
Stop and Restart tor.exe## Find Host Address
### Linux
/path/to/hidden/service/directory/hostname
### Windows
path/to/hidden/service/directory/hostname## Test
Run torserver.py and cilent.py, enter the hostname(.onion).
Then you can connect to server.
Talk in safety and privacy!