1 min read
Confium + RNP: complementary cryptography
Confium and RNP are sibling projects. They serve complementary roles in the cryptographic stack:
What each does
| Confium | RNP | |
|---|---|---|
| Focus | Threshold cryptography + transparency logs | Standard OpenPGP (RFC 9580) |
| Key model | Multi-party (no single party holds the full key) | Single-party (one private key) |
| Signatures | Composite (hybrid classical + PQ) | Standard OpenPGP signatures |
| Transparency | RFC 6962 Merkle tree + inclusion/consistency proofs | None |
| Deployment | Three modes (peer-to-peer TC, PKI drop-in, Sovereign PKI) | Standard PGP keyring |
When to use which
- Confium for multi-stakeholder signing, threshold quorums, transparency logs, post-quantum migration, institutional PKI.
- RNP for standard OpenPGP key generation, signing, verification, encryption, armor encode/decode.
- Both when your application uses standard OpenPGP for person-to-person communication AND threshold signing for institutional decisions.
Ruby integration
The Confium Ruby gem includes Confium::OpenPGP — a soft-dependency
wrapper that loads ruby-rnp lazily:
require "confium"
# Threshold signing (Confium)
tree = Confium::Transparency::MerkleTree.new
seq = tree.append(artifact_type: :threshold_signature, artifact_hash: hash)
# Standard OpenPGP (RNP via Confium::OpenPGP)
Confium::OpenPGP.verify(pgp_signature, signed_data, pgp_pubkey)
Install both gems:
gem install confium ruby-rnp
Python integration
pip install confium py-rnp
The py-rnp package provides standard OpenPGP operations. Use it
alongside confium for a complete Python crypto toolkit.
WASM (browser)
Both projects ship npm packages:
npm install @confium/confium-wasm @rnpgp/rnp
@confium/confium-wasm— transparency log verification, composite signature verification, attribute predicate evaluation.@rnpgp/rnp— full OpenPGP (RFC 9580) in the browser: key management, sign, verify, encrypt, decrypt.
See also
- Confium bindings — install + docs for each binding.
- RNP on GitHub — the RNP C library.
- @rnpgp/rnp on npm — WASM OpenPGP package.
More from the blog
Auditor's guide to a Confium transparency log
How an independent auditor verifies that a published artifact is in the log — no trust in the log operator required.
Python examples
Working code for composite signing, transparency log anchoring, attribute predicates, and CMS envelopes in Python.
announcement
Introducing Confium
Confium is an open-source framework for multi-stakeholder threshold cryptography. Three deployment modes, post-quantum-ready, transparent by design.