OTRv4+ – A post‑quantum OTR client for IRC that runs on a phone over I2P

7 months ago by CAVOK to c/i2p

Post-quantum OTRv4 IRC client with ML-KEM/ML-DSA hybrid cryptography, single-file Python core, and C extensions. Runs on Termux over I2P/Tor. - muc111/OTRv4Plus

From that other site...

‐-----------

Hi everyone,

I’ve been working on a project called OTRv4+ – an OTRv4 client that adds post‑quantum cryptography to every layer of the protocol. It’s a single‑file Python app (with three small C extensions) that runs on IRC, supports I2P/Tor, and even runs on a phone via Termux.

Why post‑quantum?

If a quantum computer breaks X448 tomorrow, your past and future messages are still protected. The key exchange uses Triple X448 + ML‑KEM‑1024, authentication uses Ed448 ring signatures + ML‑DSA‑87, and the ratchet brace key rotates via fresh ML‑KEM‑1024 at every DH epoch. All symmetric crypto uses SHA‑3 / AES‑256‑GCM, which are quantum‑resistant at the symmetric level.

What makes it different?

· No liboqs – I used OpenSSL 3.5+ native FIPS 203/204 providers for ML‑KEM and ML‑DSA.

· Single‑file Python (~12k lines) – the whole protocol is in one file to make auditing easier.

· 224 tests – covering ratchet torture, state forks, wire format fuzzing, and everything in between.

· Runs on Termux – I tested it on my phone with I2P on Libera.Chat.

Comparison with Signal PQXDH

Signal’s PQXDH adds ML‑KEM to the handshake but explicitly says “Authentication in PQXDH is not quantum‑secure”. OTRv4+ uses ML‑DSA‑87 to make authentication post‑quantum as well – at the cost of losing PQ deniability (a known open problem). I think it’s a worthwhile trade‑off for IRC where deniability is less critical.

If you want to try it:

· Git clone: https://github.com/muc111/OTRv4Plus

· Requires Python 3.9+, OpenSSL 3.5+, and a C compiler.

· Works on Termux, Linux, probably other Unix‑likes.

· Supports I2P, Tor, and clearnet with auto‑detection from the hostname.

Feedback / Contributions

I’d love to get your thoughts – issues, pull requests, or just a “hey, this works on my setup”. If you’re interested in a commercial license for proprietary use, please open an issue with the label commercial-license.

Cheers!

i2p
i2p

@lemmy.world

login for more options
2016
168
13

I2P Community Edition

This isn't the official I2P channel, if you want go there then you can find it in the links below.

Rules

  • Be nice and friendly
  • Don't spam
  • No darknet markets
  • No malicious content
  • No closed source software
  • No excessive self promotion
  • No violence or hate speech
  • I2P related posts only
  • Please use English
  • No illegal file sharing
  • Lemmy rules also apply here
  • No crypto-currency

"Don't be a dick" - Wil Wheaton

General

Media:

File Hosting and Pastebins

Torrents

Social Networks and Microblogging

  • Teddit - Privacy respecting Reddit front end

  • Ramble - Multi-Network reddit alternative

Exploring I2P

  • Notbob List online .i2p sites and categorizes them

I2P Name Registries

Search engines

IRC

Irc2P comes pre-configured with I2P. To connect with other networks, please follow this tutorial.

  • Irc2P (works out of the box)

Syndie

An open source system for operating distributed forums in anonymous networks

Inproxies

You can use inproxies to surf the I2P network without having to have an I2P router.

Follow us on Twitter

go to feed...