Skip to content

Freedom-Club-Sec/Coldwire-Desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Coldwire messenger

Tests Codacy Badge

Coldwire messenger is designed to address weakness in Off-The-Record messaging, Signal protocol, etc.

It uses hybrid post-quantum encryption, and it enforces SMP authentication before any chats.

This is a desktop implementation written in pure Rust, meant to be used in a terminal.

Coldwire messenger uses Strandlock protocol for encryption and authentication, and Coldwire protocol for federation.

About Strandlock protocol:

  • Data is encrypted in a layerd fashion, using ChaCha20poly1305, and one-time-pads.
  • Keys are derieved via Classic-Mceliece-8192128, ML-KEM-1024, and SMP answer combined.
  • SMP authentication is required before chats, we use our own novel construction, inspired by OTR's SMP, but stronger.
  • Even if ML-KEM-1024, Classic-Mceliece-8192128 are found to be broken in future, messages remain safe. If Chacha20poly1305 is broken, messages remain safe.

About coldwire protocol:

  • It's a simple federated messaging protocol
  • It's only purpose is to relay data between 2 parties, or 2 servers.
  • It's designed to be minimal, with no metadata (no vanity usernames, nicknames, avatars, status, etc)
  • It does not see plaintext, nor does it authenticate, it's only purpose is to relay already encrypted and authenticated data

This project uses Libcold for the Strandlock implementation

System requirements:

  • at least 8 GiB of RAM.

Installation

Clone the repository:

git clone https://github.com/Freedom-Club-Sec/Coldwire-Desktop

Go into directory:

cd Coldwire-Desktop

Build binary:

cargo build --release

Binary will be in target/release folder

cd target/release


Usage

./coldwire-desktop

Releases

No releases published

Packages

 
 
 

Contributors

Languages