Garbled Circuit Visualizer

A garbled circuit lets two parties compute a function of their private inputs without either party revealing those inputs. Alice (the garbler) encrypts the circuit by replacing every gate's truth table with an encrypted “garbled table.” Bob (the evaluator) receives the garbled circuit and uses Oblivious Transfer to obtain exactly one label per input wire — enough to evaluate the circuit gate by gate, without learning any other values.
Step 0 / 0
Active Gate

Bob evaluates each gate using only the labels he holds. He does not need to know the bit values — he uses labels purely as cryptographic keys to decrypt the garbled table row.

Known Wire Labels

One label per wire. Labels are random 128-bit values — indistinguishable from noise. The color bit (LSB of byte 0) encodes the bit value in this implementation: color 0 → value 0, color 1 → value 1. Bob reads this bit to learn the result.

Wire Bit Label (hex)