Skip to content
/ pcf Public
forked from cryptouva/pcf

Portable circuit format compiler: C to binary circuits

Notifications You must be signed in to change notification settings

tristartom/pcf

 
 

Repository files navigation

lccyao

the LCCyao compiler

This project was written by Benjamin Kreuter (brkb7x@virginia.edu), Chih-Hao Shen (), and Benjamin Terner (bt3ze@virginia.edu) and is currently upkept by Benjamin Terner and Benjamin Kreuter.

Usage

Evaluating functions securely takes a number of steps; the following guide should help:

  1. install LCC (the Little C Compiler: https://sites.google.com/site/lccretargetablecompiler/)
  2. use lcc-bytecode-gen.sh, or equivalently, compile your C program using the format lcc -c -S -target=bytecode program.c -o program.lcc
  3. convert your program in LCC bytecode to a program in PCF2 bytecode, using translate.sh ./translate.sh program.lcc program.pcf2
  4. run your PCF2 program or generate gates. to simulate execution, use simulate.sh ./simulate.sh program.pcf2 inputfile.txt PCF2 programs can be used to simply generate gates using cirgen, which is found in pcflib/.
    PCF2 programs may also be evaluated using our betteryao tools for secure 2-party computation. this requires making those programs, and a guide is available at https://drive.google.com/open?id=1kwk-t-GSbqWivhu4WbgSZVNSmpO4yA6S5ntIx9LzgOE&authuser=1

About

Portable circuit format compiler: C to binary circuits

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Common Lisp 62.1%
  • C++ 24.9%
  • C 11.0%
  • CSS 1.1%
  • Shell 0.4%
  • Makefile 0.4%
  • Other 0.1%