A simple implementation of Conway's Game of Life using Fully homomorphic Encryption

Overview

Game of life using Fully homomorphic encryption

A simple implementation of Conway's Game of Life built using Zama's concrete-boolean library.

Build

Just run cargo build --release.

Run

Run ./target/release/homomorphic_game_of_life (or ./target/release/homomorphic_game_of_life.exe on Windows).

What does it do exactly?

This is a very simple implementation of Conway's Game of Life using periodic boundary conditions, with a twist: the board is encrypted using a fully homomorphic encryption scheme (TFHE) and all calculations are performed in encrypted space. In principle, calculations can thus be done by a thread or server which has no access to the state of the board.

Config and initial states

The file Config.csv is read at startup and defines the following parameters (first line of the file):

  • the wait time between two updates in microseconds (no effect if much smaller than the time needed to compute one update),
  • the pixel size,
  • the board dimensions (if no initial state is provided; these two values are currently ignored),
  • the background colour in rgb format,
  • the foreground color in rgb format.

The file initial_state.csv defines the initial state.

You might also like...
A game of life🔬 simulator on an infinite♾️ plane
A game of life🔬 simulator on an infinite♾️ plane

game-of-life A game of life 🔬 simulator on an infinite ♾️ plane NOTE: This is a toy project! I did this just for fun, not as a packaged product. Abou

Conway's game of life written in Rust.

This is my implementation of Conway's game of life to get my hands dirty with Rust. Rules of the game: Any live cell with two or three live neighbors

A parser for Conway’s Game of Life Lexicon

Lexicon A convenient interface to get patterns from the Lexicon and use them in your implementation of Conway’s Game of Life. Used by Lifeee, my web a

A Conway's Game Of Life application for the gnome desktop
A Conway's Game Of Life application for the gnome desktop

Game Of Life A simple Conway's game of life simulator for the Gnome desktop Installation The easieast way to install is from Flathub. Using Gnome Buil

Solana Game Server is a decentralized game server running on Solana, designed for game developers

Solana Game Server* is the first decentralized Game Server (aka web3 game server) designed for game devs. (Think web3 SDK for game developers as a ser

Life simulation written in rust

Life simulation written in Rust, inspired by this very old screensaver: https://sourceforge.net/projects/primlife/ Demo: https://joelthelion.github.io

A tetris game I wrote in rust using ncurses. I'm sure that there's a better way to write a tetris game, and the code may be sus, but it techinically works
A tetris game I wrote in rust using ncurses. I'm sure that there's a better way to write a tetris game, and the code may be sus, but it techinically works

rustetris A tetris game I wrote in rust using ncurses. I'm sure that there's a better way to write a tetris game, and the code may be sus, but it tech

A game of snake written in Rust using the Bevy game engine, targeting WebGL2

Snake using the Bevy Game Engine Prerequisites cargo install cargo-make Build and serve WASM version Set your local ip address in Makefile.toml (loca

A Client/Server game networking plugin using QUIC, for the Bevy game engine.
A Client/Server game networking plugin using QUIC, for the Bevy game engine.

Bevy Quinnet A Client/Server game networking plugin using QUIC, for the Bevy game engine. Bevy Quinnet QUIC as a game networking protocol Features Roa

Owner
Florent Michel
Florent Michel
A simple space shooter game. Runs in the terminal using characters-based UI. Fully written in Rust, using the "ruscii" library.

Thrust - a terminal shooter game Originally created as a project for the "Missing Semester" course at JKU Linz (338.006). The game is entirely written

Mathias Wöß 3 Jan 16, 2023
This is an implementation of "Game of Life" by Horton Conway in Rust using raylib.

Game-of-Life This is an implementation of "Game of Life" by Horton Conway in Rust using raylib. What is Game of Life? The Game of Life, also known sim

Berkay Sahin 3 Dec 26, 2022
2-player game made with Rust and "ggez" engine, based on "Conway's Game of Life"

fight-for-your-life A 2-player game based on the "Conway's Game of Life", made with Rust and the game engine "ggez". Create shapes on the grid that wi

Petros 3 Oct 25, 2021
Conway's Game of Life implemented for Game Boy Advance in Rust

game-of-life An implementation of a Conway's Game of Life environment on GBA. The ultimate game should have two modes: Edit and Run mode which can be

Shane Snover 1 Feb 16, 2022
Conway's Game of Life, visualised using Rust and WebAssembly

Game of Life, using Rust and WebAssembly Tutorial Built with ?? ?? by The Rust and WebAssembly Working Group About Conway's Game of Life, which consis

Vedant R. Nimje 2 Jul 11, 2023
Game Of Life using webgpu, written in Rust

Game of Life using webgpu ✨ Description This is the implementation of the tutorial Your first WebGPU app in Rust where we're using webgpu to implement

BADR 4 Aug 17, 2023
Game of life implementation written in Rust.

Game of life Game of life implementation written in Rust. Part of my journey in learning Rust. Pattern files The patterns are based on the example pat

Hashem Hashem 2 Nov 17, 2022
An implementation of the Game of Life

Lifeee – An implementation of the Game of Life I realized this application to keep learning Rust, discover the front-end library Yew, and because I’m

Sébastien Castiel 58 Nov 23, 2022
A first-time implementation of Conway's Game of Life in Rust: Adventure and Commentary

A Commentary on Life This project documents the process and final result of my first-ever attempt at implementing Conway's Game of Life. I'll be using

Avery R. 2 Feb 25, 2022
A simple Rust and WebAssembly example implementing the Game of Life

rust-wasm-game-of-life rust-wasm-game-of-life is a simple Rust and WebAssembly example implementing the Game of Life based on Rust and WebAssembly boo

Chris Ohk 14 Nov 24, 2021