Practical overview
When it fits
Use CipherCore when you need to develop and inspect a secure multi-party computation from a graph before considering execution between real parties. The documented tutorial provides a concrete local comparison example.
Who it is for
- Developers implementing computations across parties that need to keep their inputs private.
- Teams exploring secure comparisons, analytics or machine-learning work across distributed sensitive data.
Documented uses
- Represent a computation over private inputs as a graph.
- Compile a graph into a protocol description and inspect it.
- Evaluate a compiled protocol locally using sample inputs.
- Prepare a three-party ABY3 computation, such as comparing values held by two parties and revealing the result to a third.
Requirements & limits
The project documents installation through the Python package, Cargo, or Docker. Access to the runtime Docker image requires an access token, requested from the project.
- The Python package supplies the computation-graph API; the compiler and CLI tools are a separate installation stage.
- The documented ABY3 protocol is for three parties.
- Local simulation does not execute a protocol over a network; the separate runtime is needed for that stage.
- The README describes runtime access as available upon request.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Build and locally evaluate a private comparison
Follow the documented tutorial to represent a three-party comparison as a graph, compile it, inspect the protocol description and simulate it locally.
Before you start
- Python and the CipherCore Python wrapper (
pip install ciphercore). - CipherCore compiler and CLI tools, installed from source with Cargo or through the documented Docker binary distribution.
- Two scalar inputs and a third party designated to receive the output.
Steps
Create a graph with two 32-bit integer inputs, convert them to bits for comparison, define the greater-than output, and serialize the context as
a.json.Compile the graph with
ciphercore_compile a.json simple 0,1 2 > b.json, assigning inputs to parties 0 and 1 and the output to party 2.Inspect the resulting protocol description with
ciphercore_inspect b.json.Create an
inputs.jsonfile in the documented scalar-input format and runciphercore_evaluate b.json inputs.jsonto simulate the comparison locally.
Expected outcome
A compiled and inspectable protocol description, plus a local simulation result for the supplied sample inputs.
Guide limitations
- The tutorial’s protocol support is ABY3 for three parties.
- Local evaluation is a simulation, not network execution between actual parties.
- The separate runtime is required for network execution; its Docker image requires an access token, requested from the project.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 17 October 2026
- Original website title
- ciphermodelabs/ciphercore · Official homepage title · retained in its source language

