// 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.

0

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)
ParameterDemo (Browser)
Ring modulus q12,289 (14 bit)
Ring degree n_R1024
Gadget base d2 (binary)
Lattice dimension n1
Lattice samples m~14
Identity length l8 bits
Max. users N_max3 (Alice, Bob, Charlie)

Demo parameters are mathematically correct but not cryptographically secure. Do not use in production.