Skip to content
View david415's full-sized avatar
๐Ÿ’ญ
โ™ฅ๏ธโ’ถฮป๐Ÿ˜ผ
๐Ÿ’ญ
โ™ฅ๏ธโ’ถฮป๐Ÿ˜ผ

Organizations

@tahoe-lafs @TheTorProject @telekommunisten @applied-mixnetworks @katzenpost @sphinx-cryptography

Block or report david415

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
david415/README.md

David Stainton

Founder of Katzenpost. Mix networks, post-quantum cryptography, high-assurance protocol engineering.

katzenpost.network ยท sphinx.rs ยท Echomix paper (arXiv:2501.02933)


About me

I founded and lead Katzenpost, a free software mix network: an anonymous communication network built to resist traffic analysis by global passive adversaries. I designed its protocols and I am by far its largest committer. The design is written up in Echomix: a Strong Anonymity System with Messaging (Infeld, Stainton, Ryge, Hacker, 2025).

Currently

  • ๐Ÿ•ธ๏ธ Pigeonhole on Reticulum. Pigeonhole storage replicas on Reticulum meshes (pigeonhole_rns) and a bridge replica that joins the mesh to the mixnet, so one group chat has members on a Reticulum mesh and members on the mixnet, talking through the bridge without knowing it (katzenrns).
  • ๐Ÿ“Ÿ Mixnet group chat on a handheld. pigeonhole_reticulous: group chat firmware for the LilyGO T-Deck Plus (ESP32-S3) that does its own BACAP encryption and CTIDH-1024 contact vouchers on the device. The CTIDH field arithmetic is hand-written Xtensa MAC16 assembly: 11,422 instructions per field multiply against fiat-crypto's 81,661, about 7ร— fewer, bit-exact with fiat.
  • ๐Ÿ“ž hushphone. Group chat with push-to-talk voice for Linux and Android, in Rust and Slint, over the Katzenpost mixnet or a Reticulum mesh (Reticulum-rs, or the Python RNS embedded with PyO3).
  • ๐Ÿฆ Pigeonhole protocols. pigeonhole_protocols: group chat and mixnet services over Pigeonhole storage, as sans-IO state machines in Go, Rust and Python sharing one set of test vectors.
  • ๐Ÿ” Post-quantum crypto. hpqc: hybrid post-quantum KEMs, NIKEs and signatures for Go and Python: a security-preserving KEM combiner, a NIKE-to-KEM adapter, a hybrid signer, CTIDH, ML-KEM, FrodoKEM, Classic McEliece, NTRU Prime, HQC, and BACAP, our blinding-and-capability scheme. Plus highctidh-rs, Rust bindings to CTIDH-1024.
  • ๐Ÿ“œ Cryptlib: a Lean cryptography library. It started as a Lean model of hpqc and now does two jobs: real, runnable high-assurance software and protocol simulators, and proofs of security properties of primitives and protocols. Primitives are Lean structures whose fields carry their laws (a NIKE must commute, a KEM must round-trip), so an instance that breaks them cannot be constructed. cryptlib.io ยท GitHub
  • ๐Ÿง… Formalizing Sphinx in Lean. The Sphinx packet format in cryptlib, generic over its NIKE or KEM, stream cipher, KDF, MAC and wide-block cipher. Correctness is proved once for any choice of those primitives, and the padding leak later found in Sphinx can no longer be expressed: wrap takes no filler argument. Integrity, wrap-resistance and indistinguishability are formalized, with the steps not yet proved stated as explicit hypotheses.
  • ๐Ÿงฎ High assurance in Lean 4. Protocols written in a proof assistant, with security properties in the types: cryptlib (with the Sphinx formalization and part of BACAP), uproar (Noise and PQ Noise), lean_tls, lean_quic, huh (a remote shell on PQ Noise), frank_chat and jam (mixnet group chat clients), paw (an Elm-style GUI library with security laws in its types), tessera (terminal UIs) and cborg (CBOR).

Languages

Go Rust Lean 4 Python C C++ Xtensa assembly

Platforms and tools

ESP-IDF ESP32-S3 Slint Linux Android Reticulum

Security stack

Mix networks Sphinx Post-quantum CTIDH PQ Noise BACAP Formal methods

Links

Pinned Loading

  1. HoneyBadger HoneyBadger Public

    Quantum Insert detector/recorder

    Go 306 32

  2. cryptocomrade cryptocomrade Public

    Creative commons licensed cryptography code examples in Rust and Go.

    Go 6 1

  3. tor_partition_scanner tor_partition_scanner Public

    scanner for detecting partitions on the tor network

    Python 5 3

  4. reading_lists reading_lists Public

    reading lists

    32 3

  5. hpqc hpqc Public

    Forked from katzenpost/hpqc

    Hybrid Post Quantum Cryptography

    Go 1

  6. katzenpost katzenpost Public

    Forked from katzenpost/katzenpost

    Katzenpost is a free and open source software project dedicated to researching and developing mix network protocols

    Go 1