FHELAB QERY-PRIVATE VECTOR SEARCH DEMO

Encrypted Similarity Search

The server never sees your query. It only returns encrypted scores. Your browser decrypts and ranks results locally.

Server sees: encrypted query + plaintext database.
Client sees: decrypted scores + ranking.

What This Demo Does

We search a server‑side vector database using an encrypted query. The server never sees your query, only encrypted ciphertexts.

Database

Random vectors are generated on the server (seeded) and stored in plaintext. Similarity = dot product.

Query

Generated in your browser, normalized, packed into CKKS slots, encrypted, and sent to the server.

Computation

Server computes encrypted dot‑products with rotate‑sum and returns encrypted scores.

Ranking

Browser decrypts scores locally and shows Top‑K results.

Controls

1 Generate keys in browser
2 Upload rotation keys (server needs them)
3 Run encrypted similarity search
Key upload
0%
Status Idle
Session
Latency

Encryption Params

Results

Database
Example query
Result meaning Best match = highest encrypted similarity score
Run a query to see the best match.