Skip to content

Secure implementations of Edit Distance algorithms using EMP-toolkit garbled circuits

License

Notifications You must be signed in to change notification settings

AndreaMigliore/smpc-ed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SMPC-ED

Secure Multi-Party Computation - Edit Distance

This project implements several algorithms for the secure computation of Edit Distance using the semi-honest two-party computation based on garbled circuits model provided by the EMP-toolkit.

There are six different algorithms implemented in plain C++.

The first four of these algorithms are also implemented with the EMP-toolkit. For the others a direct implementation is not convenient due to unefficient management of secret array indexes in secure computation.

Getting started

C++ (Standard directory)

After compiling, just run:

./EditDistance <input_length> <threshold>

EMP (Secure directory)

  1. Install the EMP-toolkit
  2. Run ./bin/EditDistance 1 12345 <input_length> <threshold> & ./bin/EditDistance 2 12345 <input_length> <threshold>

Parameters

The <input_length> (must be the same for the programs in Secure directory) and the <threshold> are optional.

Possible <input_length> are: 5, 7, 50, 100, 200, 250, 500, 1000, 2000, 3000, 3500, 4000, 5000, 10000, 50000. These are randomly generated DNA (A, C, G, T) strings.

It is also possible to use IDash_1, IDash_2, and IDash_3, which are real DNA sequences of approximately 3400 characters from a genome database released by iDASH Security and Privacy Workshop 2016

Further details about EMP options are here

License

Distributed under the GPL 3.0 License. See LICENSE for more information.

Releases

No releases published

Packages

No packages published

Languages