Conway's Game of Life over Fully Homomorphic Encryption
This demo evaluates Conway's Game of Life directly on CKKS ciphertext state. The server never decrypts the board.
The server advances faster than the client can fetch and decrypt every generation over the network. The client therefore samples periodic checkpoints and runs a local Game of Life simulation between them. Incoming checkpoints are queued and applied in order when the local timeline reaches them.
The client derives CKKS key material from the access code. WebGPU accelerates client-side CKKS encrypt/decrypt kernels (NTT/iNTT + pointwise ops); if unavailable, the same pipeline runs in Rust compiled to WASM, which also handles encode/decode and serialization.
Drag patterns from the sidebar onto the board at any time. Your pattern is encrypted client-side and queued for the next server tick — the server applies it without ever seeing which cells you placed.
Open the console from the bottom bar to see real-time sync, decryption, and encryption timing logs.
Built by 0xPARC