Private Handwritten Digit Recognition via MNIST and CNNs


This demo simulates a secure multi-party computation (MPC) protocol entirely in your browser by leveraging the Nillion SDK via Pyodide.

  1. Draw a digit or select one of the existing digit images. Then, obtain a version of the image as it is seen by a neural network. Finally, generate and send the image data in masked form to the nodes.

Client Interface

Select a Digit

Draw a Digit Manually

Neural Network View 🧠 (28x28 Grid)

  1. Each node receives the masked data and locally computes its secret share of the overall result.

Node 0

Masked Data

Node 1

Masked Data

Node 2

Masked Data

  1. The recipient receives secret shares of the result and reconstructs it to determine the outcome (i.e., the prediction of the neural network and the underlying probabilities).

Network Output 🔐