Skip to content

jplaui/decoTls12MtE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

deco-oracle

Clone repo

Clone repos:

    $ git clone git@github.com:januspaper/deco12mte-reimplementation.git
    $ git checkout handshake

Docker setup

Create a Docker image. You only have to do this once.

$ docker build -t deco .

Spin up a Docker container from the image.

$ docker run -it deco

Please note that any changes you make in the container are not persistent.

Run application

Execute the same docker container in another two seperate consoles.

$ docker exec -it CONTAINERID /bin/bash 

Change directory to app folder.

$ cd ~/deco-oracle/app

Change to the corresponding directory

$ cd ~/deco-oracle/app/server

Always run server(verifier) first

$ go run ./server.go 

Then run verifier(server)

$ go run ./verifier.go

Run client at last

$ go run ./client.go

MPC resources:

We need to implement the following components in MPC:

  • ADD Gate
  • PRF SHA-256 Gate for (i) master secret (ii) key derivation
  • Two XOR Gates

Tricky part: How to design the SHA-256 Gate without extensive effort?

  • Bristol Fashion MPC circuit for SHA256 can be found here.
  • The circuit was created in VHDL as specified in SCALE MAMBA here
  • SCALE MAMBA has an extremely good documentation, see here
  • Another implementation is described in this paper, however I did not yet find the circuit file for their implementation.
  • It probably makes the most sense to base the MPC imlementation on the EMP toolkit, as it provides an extensive framework. However, their documentation is a bit sparse.
  • The ABY toolkit is very neat, however we would not be able to use the SHA256 circuit, as they use a circuit description that is slightly different to the Bristol fashion. The documentation is very good to get a general understanding, I recommend taking a look here.

Malicious MPC:

  • With semi-honest MPC we run into a problem - the party who constructs the garbled circuit could just cheat. In order to prevent such behavior, we have the party construct many copies of the circuit and then ask it to open half of them
  • Not very efficient BUT much more secure than semi-honest.
  • DECO protocol is based on this paper.

About

Deco TLS 1.2 MtE Re-implementation (emp-ag2pc and jsnark)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published