Projects

CM31 NTT

An optimised implementation of the number-theoretic transform (NTT) for the complex Mersenne-31 finite field, written for Tools for Humanity.

SnarkJS in-browser benchmarks

In-browser benchmarks for Groth16 proof generation using snarkjs.

Noir and UltraHonk benchmarks

Benchmarks for the UltraHonk prover in the browser on various Noir circuits.

Optimised Montgomery Multiplication in WASM

Implemented various Montgomery multiplication algorithms in WebAssembly.

WebGPU-accelerated signature verification

Implementations of secp256k1/r1 ECDSA recovery and ed25519 signature verification in WebGPU for Fuel Labs.

ZPrize 2023

An implementation of in-browser multi-scalar multiplication (MSM) for the BLS12-377 and Twisted Edwards BLS12 curves. Won the Special Mention (Best WebGPU Solution) for multi-scalar multiplication prize.

Semacaulk

Semacaulk is a zero-knowledge set membership protocol that is highly gas-efficient on Ethereum.

secp256k1 hash-to-curve

An implementation of the secp256k1_XMD:SHA-256_SSWU_RO_ hash-to-curve function in circom.

Minimum Anti-Collusion Infrastructure

An implementation of a bribery-resistant voting system built with zero-knowledge proofs on Ethereum, currently used by the clr.fund project to facilitate permissionless quadratic funding for public goods in the Ethereum ecosystem.

Poseidon encryption on the BN254 elliptic curve

An implementation of encryption using the Poseidon permutation function, as well as an ECDH key deriviation function for public and private keys on the BabyJub curve.

Perpetual Powers of Tau

Phase 1 of a multi-party trusted setup ceremony for zero-knowledge circuits on the BN254 curve.

UnsafeMaths

A Huff implementation of OpenZepplin's SafeMath.sol.

MicroMix

A proof-of-concept ETH and ERC20 mixer built on zk-SNARKs.

Semaphore

A privacy gadget which uses zk-SNARKs for anonymous set membership verification and message signalling.

Zero-knowledge Mastermind

An implementation of the Mastermind board game which uses zk-SNARKs instead of a trusted third party to verify game rules.

Project Endor

A blockchain-based securities exchange, built when I worked for ConsenSys Solutions.



zk-SNARK Dev Tooling

circom-helper

Enhances the circom circuit compiler developer experience by abstracting away circuit compilation, witness generation, and signal extraction.

multisetups

A simple, IPFS-based multi-party trusted setup utility for snarkjs.

zkey-manager

Simplifies the process of zk-SNARK key management for circuits written in circom.



Other projects

LIFTED Mobile

A user-friendly web app for lawyers in Singapore to improve their skillsets, built for the Singapore Academy of Law. The app was subsequently integrated with the Singapore government's MySkillsFuture initiative.



Projects - Koh Wei Jie