// experimental demo
Registration-Based Encryption — Interactive Demo
This demo shows how Registration-Based Encryption (RBE) works — a lattice-based cryptosystem that models the Key Curator as a transparent, non-trusted party. All user operations run locally in the browser; KC operations run server-side — exactly as in a real deployment.
Experimental — in development// what is rbe — and why no certificate?
In classical PKI, Alice must have a certificate signed by a Certificate Authority (CA). Bob must verify that certificate before he can write to Alice — the CA is a central trust anchor with far-reaching powers.
Registration-Based Encryption (RBE) takes a different approach: a Key Curator (KC) handles registration but knows not a single secret key. Each user generates their key pair locally on their device and submits only the public key to the KC. The KC adds all public keys into a single aggregated value mpkAgg — the sender needs only this one value and the recipient's name (their identity).
An identity is simply a unique string — here the names "alice", "bob", "charlie". A deterministic hash algorithm turns this string into a polynomial that is mathematically baked into the ciphertext. This means Charlie demonstrably cannot read Bob's message, even though he is a legitimate user with his own valid key — this is demonstrated live in step 6.
KC Setup: Trapdoor Key Pair
All arithmetic takes place in the polynomial ring : integer polynomials of degree < , whose coefficients are computed modulo . Multiplication is reduced modulo — making the ring well-suited for lattice-based cryptography.
The KC first chooses a uniform polynomial — all 1024 coefficients uniformly distributed in . This is the public reference point for all users (Common Reference String). It then draws a short polynomial with coefficients only from and computes . This yields the trapdoor relation (the unit polynomial). and are fully public — only remains secret on the server.
Parameters: Demo vs. Paper
This demo uses reduced parameters for browser compatibility. The table below shows what a production system would look like according to the underlying research paper.
↗ Underlying paper (ePrint 2026/628)| Parameter | Demo (Browser) |
|---|---|
| Ring modulus q | 12,289 (14 bit) |
| Ring degree n_R | 1024 |
| Gadget base d | 2 (binary) |
| Lattice dimension n | 1 |
| Lattice samples m | ~14 |
| Identity length l | 8 bits |
| Max. users N_max | 3 (Alice, Bob, Charlie) |
⚠Demo parameters are mathematically correct but not cryptographically secure. Do not use in production.