Skip to content

Commit

Permalink
Add pages for circom-mpc and publicly-verifiable-garbled-circuit (#252)
Browse files Browse the repository at this point in the history
  • Loading branch information
tkmct authored Dec 19, 2024
1 parent 27c3c2f commit 79929a8
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 2 deletions.
4 changes: 4 additions & 0 deletions data/projects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import { maci } from "./projects/maci"
import { maciPlatform } from "./projects/maci-platform"
import { mopro } from "./projects/mopro"
import { mpc } from "./projects/mpc"
import { circomMpc } from "./projects/circom-mpc"
import { mpcStats } from "./projects/mpc-stats"
import { nfctap } from "./projects/cursive"
import { OpenPassport } from "./projects/openpassport"
Expand All @@ -26,6 +27,7 @@ import { p256 } from "./projects/p256"
import { pollenLabs } from "./projects/pollen-labs"
import { PerpetualPowersOfTau } from "./projects/powers-of-tau"
import { pseSecurity } from "./projects/pse-security"
import { publiclyVerifiableGarbledCircuit } from "./projects/publicly-verifiable-garbled-circuit"
import { rln } from "./projects/rln"
import { semaphore } from "./projects/semaphore"
import { sonobe } from "./projects/sonobe"
Expand Down Expand Up @@ -93,4 +95,6 @@ export const projects: ProjectInterface[] = [
OpenPassport,
zkID,
excubiae,
circomMpc,
publiclyVerifiableGarbledCircuit,
]
32 changes: 32 additions & 0 deletions data/projects/circom-mpc.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import {
ProjectCategory,
ProjectContent,
ProjectInterface,
ProjectStatus,
} from "@/lib/types"

const content: ProjectContent = {
en: {
tldr: "Set of projects designed to compile and run arithmetic and boolean MPC circuits written in Circom.",
description: `
Circom-MPC is a set of projects designed to compile and run arithmetic and boolean MPC circuits written in Circom. The framework includes circom-2-arithc, a fork of Circom tailored for creating MPC-compatible circuits, and circom-mp-spdz, which combines the compiler with MP-SPDZ, enabling the execution of compiled circuits in MPC. Circom-MPC aims to facilitate the development and deployment of privacy-preserving computations.`,
}
}

export const circomMpc: ProjectInterface = {
id: "circom-mpc",
category: ProjectCategory.RESEARCH,
projectStatus: ProjectStatus.INACTIVE,
section: "pse",
content,
image: "",
imageAlt: "Circom-MPC",
name: "Circom-MPC",
links: {
github: "https://github.com/namnc/circom-2-arithc",
},
tags: {
keywords: ["mpc", "circom", "mp-spdz"],
themes: ["research"],
},
}
4 changes: 2 additions & 2 deletions data/projects/mpc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ const content: ProjectContent = {
We are dedicated group in PSE to research and explore Secure Multi-Party Computation. Current focus area of us are programmability/accessibility, publicly verifiability research and KZG extractable witness encryption implementation. Our active projects include Circom-MPC, TypeScript-MPC tooling, publicly verifiable garbled circuit research and KZG extractable witness encryption implementation.
### Programmability/Accessibility
We are exploring easier programmability and accessibility develop and run MPC program.
[Circom-MPC](https://github.com/namnc/circom-2-arithc) is a set of projects designed to compile and run arithmetic and boolean MPC circuits. The framework includes circom-2-arithc, a fork of Circom tailored for creating MPC-compatible circuits, and circom-mp-spdz, which combines the compiler with MP-SPDZ, enabling the execution of compiled circuits in MPC. Circom-MPC aims to facilitate the development and deployment of privacy-preserving computations.
[Circom-MPC](/projects/circom-mpc) is a set of projects designed to compile and run arithmetic and boolean MPC circuits. The framework includes circom-2-arithc, a fork of Circom tailored for creating MPC-compatible circuits, and circom-mp-spdz, which combines the compiler with MP-SPDZ, enabling the execution of compiled circuits in MPC. Circom-MPC aims to facilitate the development and deployment of privacy-preserving computations.
TypeScript-MPC tooling is a tools to write MPC program in TypeScript and run them on browsers. [Summon](https://github.com/voltrevo/summon) is a compiler to compile TypeScript program to arithmetic/boolean circuit to run on multi party setting. You can run the compiled circuit using mpz backend on browser.
### Publicly verifiable garbled circuit research
### [Publicly verifiable garbled circuit research](/projects/publicly-verifiable-garbled-circuit)
We are actively researching on publicly verifiable garbled circuit. This will lead to constant round publicly verifiable 2 party computation. Currently we're exploring two ways to achieve this. The first approach is based on authenticated garbling and vector OLE and the second approach is based on commited OT and zkp.
### Extractable witness encryption for KZG commitments implementation
KZG extractable witness encryption is a protocol to build extractable witness encryption using KZG polynomial commitment scheme. The opening proofs of KZG polynomial commitment work as decryption key of witness encryption.
Expand Down
33 changes: 33 additions & 0 deletions data/projects/publicly-verifiable-garbled-circuit.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import {
ProjectCategory,
ProjectContent,
ProjectInterface,
ProjectStatus,
} from "@/lib/types"

const content: ProjectContent = {
en: {
tldr: "Publicly verifiable garbled circuit research",
description: `
We are actively researching on publicly verifiable garbled circuit. This will lead to constant round publicly verifiable 2 party computation. Currently we're exploring two ways to achieve this. The first approach is based on authenticated garbling and vector OLE and the second approach is based on commited OT and zkp.
See more details [here](https://hackmd.io/@namncc/B1md-dp4ke).`,
}
}

export const publiclyVerifiableGarbledCircuit: ProjectInterface = {
id: "publicly-verifiable-garbled-circuit",
category: ProjectCategory.RESEARCH,
projectStatus: ProjectStatus.ACTIVE,
section: "pse",
content,
image: "",
imageAlt: "Publicly verifiable garbled circuit",
name: "Publicly verifiable garbled circuit",
links: {
website: "https://hackmd.io/@namncc/B1md-dp4ke",
},
tags: {
keywords: ["mpc", "garbled circuit", "zkp"],
themes: ["research"],
},
}

0 comments on commit 79929a8

Please sign in to comment.