Software

The following software tools have been created as results of our research with the goal to protect the privacy of critical data. The tools can be used as stand-alone solutions but also be embedded as library to existing projects.

The software tools listed here are just a selection. All of our software is available at https://encrypto.de/code. Please refer to the referenced publications for background information about the underlying techniques and see the available source code and its documentation for implementation and deployment information.

2025

Title: Privacy-Preserving Epidemiological Modeling on Mobile Graphs
Authors: Daniel Günther, Marco Holz, Benjamin Judkewitz, Helen Möllering, Benny Pinkas, Thomas Schneider, and Ajith Suresh
Published: IEEE Transactions on Information Forensics and Security (TIFS) 2025
Description: Implementation of Micro-Benchmarks for the RIPPLE framework for epidemiological modelling.
Target Group: Developers
Software Development Phase: Benchmarking
Application Environment: Privacy-Preserving Epidemiological Modelling
Programming Language: C++
Software Repository: https://encrypto.de/code/RIPPLE

Title: SEEC – Memory Safety Meets Efficiency in Secure Two-Party Computation
Authors: Henri Dohmen, Robin William Hundt, Nora Khayata, and Thomas Schneider
Published: 20. ACM ASIA Conference on Computer and Communications Security (ASIACCS’25) 2025, POSTER@2024 Annual Computer Security Applications Conference (ACSAC)
Description:  A fast, memory-efficient and reliable implementation of secret sharing-based protocols GMW and ABY2.0, including various Oblivious Transfer (OT) protocols.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols and Applications
Programming Language: Rust
Software Repository: https://encrypto.de/code/SEEC

2024

Title: Attesting Distributional Properties of Training Data for Machine Learning
Authors: Vasisht Duddu, Anudeep Das, Nora Khayata, Hossein Yalame, Thomas Schneider, and N. Asokan
Published: 29. European Symposium on Research in Computer Security (ESORICS'24) 2024
Description:  Implementation of Property Attestation based on Property Inference and Multi-Party Computation.
Target Group:ML Developers
Software Development Phase: Implementation
Application Environment:  Privacy-Preserving Machine Learning
Programming Language: Python
Software Repository: https://github.com/ssg-research/distribution-attestation

Title: Encrypted MultiChannel Communication (EMC2): Johnny should use Secret Sharing
Authors: Gowri R Chandran, Kilian Demuth, Kasra Edalatnejad, Sebastian Linsner, Christian Reuter, and Thomas Schneider
Published: 23. Workshop on Privacy in the Electronic Society (WPES'24) 2024
Description:  User-facing web application for Encrypted Multi-Channel Communication (EMC2).
Target Group: Everyone
Software Development Phase: Implementation
Application Environment: Secure communication
Programming Language: Javascript, Python
Software Repository: https://encrypto.de/emc2

Title: FLUENT: A Tool for Efficient Mixed-Protocol Semi-Private Function Evaluation
Authors: Daniel Günther, Joachim Schmidt, Thomas Schneider, and Hossein Yalame
Published: 40. Annual Computer Security Applications Conference (ACSAC'24) 2024
Description: A framework which compiles annotated C or Verilog code into semi-private functions. Supports Yao’s Garbled Circuits and LUT-based protocols.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Semi-private Function Evaluation
Programming Language: Zig, C++
Software Repository: https://encrypto.de/code/FLUENT

Title: HyCaMi: High-Level Synthesis for Cache Side Mitigation
Authors: Heiko Mantel, Joachim Schmidt, Thomas Schneider, Maximilian Stillger, Tim Weißmantel, and Hossein Yalame
Published: 61. Design Automation Conference (DAC'24) 2024
Description: HyCaMi is a compilation pipeline that translates C++ code into cache-sidechannel-hardened binaries by utilizing Lookup Table-based logic synthesis tools.
Target Group: Developers of cryptographic software
Software Development Phase: Implementation
Application Environment: Side-channel hardening
Programming Language: Python, Makefile
Software Repository: https://encrypto.de/code/HyCaMi

Title: Menhir: An Oblivious Database with Protection against Access and Volume Pattern Leakage
Authors: Leonie Reichert, Gowri R Chandran, Phillipp Schoppmann, Thomas Schneider, and Björn Scheuermann 
Published: 19. ACM ASIA Conference on Computer and Communications Security (ASIACCS'24) 2024
Description: Oblivious database for trusted execution environments
Target Group: Developers for oblivious datastructures
Software Development Phase: Implementation
Application Environment: Oblivious datastructures
Programming Language: C++, Python
Software Repository: https://github.com/ReichertL/Menhir

Title: MOTION-FD: MOTION with Enhanced Support for Function-Dependent Preprocessing
Authors: Andreas Brüggemann, Oliver Schick, Thomas Schneider, Ajith Suresh, and Hossein Yalame
Published: 45. IEEE Symposium on Security and Privacy (IEEE S&P'24) 2024
Description:  Implementation of the 2+1 and 3-party protocols ASTRA, SWIFT, Auxiliator, and Socium, extending MOTION to the domain of protocols with function-dependent preprocessing. This is part of the publication “Don't Eject the Impostor: Fast Three-Party Computation With a Known Cheater” at S&P’24 that also introduces Auxiliator and Socium.
Target Group: Developers of cryptographic protocols
Software Development Phase: Prototype Implementation
Application Environment: Secure computation in asymmetric trust settings
Programming Language: C++
Software Repository: https://encrypto.de/code/MOTION-FD

2023

Title: Scaling Mobile Private Contact Discovery to Billions of Users
Authors: Laura Hetz, Thomas Schneider, and Christian Weinert
Published: 28. European Symposium on Research in Computer Security (ESORICS'23) 2023
Description: Unbalanced Private Set Intersection (PSI) protocol for usage in private contact discovery. The protocol combines OPRFs with state-of-the-art two-server Private Information Retrieval (PIR) and optimizations.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Mobile Private Contact Discovery
Programming Language: Go, C++, Java
Software Repository: https://encrypto.de/code/disco

Title: Secure and Differentially Private K-th Ranked Element 
Authors: Gowri R Chandran, Philipp-Florens Lehwalder, Leandro Rometsch, and Thomas Schneider
Published: 30. ACM Conference on Computer and Communications Security (CCS'23) Posters/Demos 2023
Description: Removing leakage in k-th ranked element computation by using differential privacy.
Target Group: Developers of cryptographic protocols
Software Development Phase: Implementation
Application Environment: Mitigating leakage with DP
Programming Language: C, Rust
Software Repository: https://encrypto.de/code/dp-KRE

Title: FLUTE: Fast and Secure Lookup Table Evaluations
Authors: Andreas Brüggemann, Robin Hundt, Thomas Schneider, Ajith Suresh, and Hossein Yalame
Published: 44. IEEE Symposium on Security and Privacy (IEEE S&P'23) 2023
Description: An implementation of the ABY2.0 protocol’s binary domain alongside the lookup table gate from FLUTE and silent OT extension.
Target Group: Developers of cryptographic protocols
Software Development Phase: Implementation
Application Environment: Secure computation using lookup tables
Programming Language: Rust
Software Repository: https://encrypto.de/code/FLUTE

Title: FUSE – Flexible File Format and Intermediate Representation for Secure Multi-Party Computation 
Authors: Lennart Braun, Moritz Huppert, Nora Khayata, Thomas Schneider, and Oleksandr Tkachenko
Published: 18. ACM ASIA Conference on Computer and Communications Security (ASIACCS'23) 2023
Description:  A Compiler Framework for Unifying and Optimizing Secure Multi-Party Computation Implementations with Efficient Circuit Storage.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Compilers for MPC
Programming Language: C++
Software Repository: https://encrypto.de/code/FUSE

Title: Breaking the Size Barrier: Universal Circuits meet Lookup Tables
Authors:  Yann Disser, Daniel Günther, Thomas Schneider, Maximilian Stillger, Arthur Wigandt, and Hossein Yalame
Published: 29. Advances in Cryptology – ASIACRYPT'23 2023
Description: LUC is a tool that compiles Lookup-table-based circuits into efficient universal circuits for Private Function Evaluation. It is the first implementation of Liu et al’s shortened UC construction. A compilation toolchain from Verilog code to LUT circuits and a LUT-based MPC runtime are included.
Target Group: Developers of Private Function Evaluation
Software Development Phase: Implementation
Application Environment:  Private Function Evaluation
Programming Language: C++, Python
Software Repository: https://encrypto.de/code/LUC

Title: PrivMail: A Privacy-Preserving Framework for Secure Emails
Authors:  Gowri R Chandran, Raine Nieminen, Thomas Schneider, and Ajith Suresh
Published: 28. European Symposium on Research in Computer Security (ESORICS'23) 2023
Description: PrivMail allows sending mails privately by secret sharing the emails to several email addresses and also allows basic functionalities like keyword search on the emails. There is also a Thunderbird plugin that performs the secure sending and receiving of emails.
Target Group: Developers of privacy-preserving systems
Software Development Phase: Implementation
Application Environment: Privacy-preserving services
Programming Language: Python, C++, Javascript
Software Repository: https://encrypto.de/code/PrivMail

2022

Title: GPU-Accelerated PIR with Client-Independent Preprocessing for Large-Scale Applications
Authors: Daniel Günther, Maurice Heymann, Benny Pinkas, and Thomas Schneider
Published: 31. USENIX Security Symposium (USENIX Security'22) 2022
Description: Highly parallelized GPU and CPU implementation of the multi-server CIP-PIR protocol which provide client-independent preprocessing.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Private Information Retrieval
Programming Language: C++
Software Repository: https://encrypto.de/code/cip-pir

Title: SoK: Cryptanalysis of Encrypted Search with LEAKER – A framework for LEakage AttacK Evaluation on Real-World data
Authors: Seny Kamara, Abdelkarim Kati, Tarik Moataz, Thomas Schneider, Amos Treiber, and Michael Yonli
Published: 7. IEEE European Symposium on Security and Privacy (EuroS&P'22) 2022
Description: LEAKER is an open-source framework that evaluates the major leakage attacks against any dataset.
Target Group: Developers of Encrypted Search Algorithms
Software Development Phase: Implementation
Application Environment: Implementation and evaluation of leakage attacks.
Programming Language: Python
Software Repository: https://encrypto.de/code/LEAKER

Title: SPIKE: Secure and Private Investigation of the Kidney Exchange problem
Authors: Timm Birka, Kay Hamacher, Tobias Kussel, Helen Möllering, and Thomas Schneider
Published: BMC Medical Informatics and Decision Making, 22(1):253 2022
Description: SPIKE is a secure MPC-based privacy-preserving KEP which computes a solution by finding matching donor-recipient pairs in a graph structure. SPIKE matches 40 pairs in cycles of length 2 in less than 4 minutes and outperforms the previous state-of-the-art protocol by a factor of 400x in runtime while providing medically more robust solutions.
Target Group: Developers of privacy preserving medical applications
Software Development Phase: Implementation
Application Environment: Privacy Preserving Kidney Exchange
Programming Language: C++, Python
Software Repository: https://encrypto.de/code/PPKE

2021

Title: DEMO: AirCollect: Efficiently recovering hashed phone numbers leaked via Apple AirDrop
Authors: Alexander Heinrich, Matthias Hollick, Thomas Schneider, Milan Stute, and Christian Weinert
Published: In 14th ACM Conference on Security and Privacy in Wireless and Mobile Networks (WiSec'21)
Description: Proof-of-concept implementation to demonstrate two possible attacks that result in contact identifier leakage due to design flaws Apple's AirDrop protocol for offline file sharing.
Target Group: Hackers
Software Development Phase: Implementation
Programming Language: Python and C/C++
Software Repository: https://github.com/seemoo-lab/opendrop/blob/poc-phonenumber-leak/README.PoC.md

Title: All the Numbers are US: Large-scale Abuse of Contact Discovery in Mobile Messengers
Authors: Christoph Hagen, Christian Weinert, Christoph Sendner, Alexandra Dmitrienko, and Thomas Schneider
Published: In 28th Annual Network and Distributed System Security Symposium (NDSS'21) (Download (opens in new tab))
Description: Implementation of a novel rate-limiting scheme for contact discovery, which significantly improves the protection against enumeration attacks for messaging services like Signal without server-side storage, while not impacting legitimate users negatively.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Messaging Services
Programming Language: Python
Software Repository: https://github.com/contact-discovery/incremental_contact_discovery

Title: MOTION – A Framework for Mixed-Protocol Multi-Party Computation
Authors: Lennart Braun, Daniel Demmler, Thomas Schneider, and Oleksandr Tkachenko
Published: In ACM Transactions on Privacy and Security (TOPS) 2021 (Download)
Description: A fast, flexible, and asynchronous C++ framework for secure multi-party computation with N parties, full-threshold security, and conversions between all protocols.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols and Applications
Programming Language: C/C++
Software Repository: https://github.com/encryptogroup/MOTION

Title: A Generic Hybrid 2PC Framework with Application to Private Inference of Unmodified Neural Networks
Authors: Lennart Braun, Rosario Cammarota, and Thomas Schneider
Published: In Privacy in Machine Learning Workshop (PriML@NeurIPS'21) (Download (opens in new tab))
Description: This software is an extension of the MOTION framework for multi-party computation. We additionally implemented five two-party computation protocols with passive security together with all 20 possible conversions among each other to enable private evaluation of hybrid circuits.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols and Applications
Programming Language: C/C++
Software Repository: https://github.com/encryptogroup/MOTION2NX

Title: Balancing Quality and Efficiency in Private Clustering with Affinity Propagation
Authors: Hannah Keller, Helen Möllering, Thomas Schneider, and Hossein Yalame
Published: In 18th International Conference on Security and Cryptography (SECRYPT'21)
Description: Implementation of privacy preserving affinity propagation using the secure multi-party computation framework MP-SPDZ.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Applications
Programming Language: Python
Software Repository: https://github.com/encryptogroup/ppAffinityPropagation

Title: Privacy-preserving Density-based Clustering
Authors: Beyza Bozdemir, Sébastien Canard, Orhan Ermis, Helen Möllering, and Thomas Schneider
Published: In 16th ACM ASIA Conference on Computer and Communications Security (ASIACCS’21) (Download (opens in new tab))
Description: ppDBSCAN is a fully privacy-preserving DBSCAN clustering protocol that uses the two-party computation framework ABY. We also implemented an approximated distance metric for the DBSCAN-based trajectory clustering scheme called TRACLUS.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Applications
Programming Language: C/C++
Software Repository: https://github.com/encryptogroup/ppdbscan

Title: PrivateDrop: Practical privacy-preserving authentication for Apple AirDrop
Authors: Alexander Heinrich, Matthias Hollick, Thomas Schneider, Milan Stute, and Christian Weinert
Published: In 30th USENIX Security Symposium (USENIX Security'21) (Download (opens in new tab))
Description: Implementation of our protocol PrivateDrop that fixes severe privacy issues (contact identifier leakage) in Apple's offline file sharing service AirDrop.
Target Group: Apple Developers
Software Development Phase: Implementation
Application Environment: Contact-based Mutual Authentication Protocols
Programming Language: Swift and C/C++
Software Repository: https://github.com/seemoo-lab/privatedrop

Title: All the Numbers are US: Large-scale Abuse of Contact Discovery in Mobile Messengers
Authors: Christoph Hagen, Christian Weinert, Christoph Sendner, Alexandra Dmitrienko, and Thomas Schneider
Published: In 28th Annual Network and Distributed System Security Symposium (NDSS'21) (Download (opens in new tab))
Description: RainbowPhones is a utility to efficiently crack hashes of phone numbers by using rainbow tables based on RainbowCrack V1.2. For this, we designed new reduction functions and added multi-threading via OpenMP. While we use our approach to optimize rainbow tables for phone numbers, our construction can also find application in other areas, e.g., advanced password cracking.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Messaging Services
Programming Language: C++
Software Repository: https://github.com/contact-discovery/rt_phone_numbers

Title: VASA: Vector AES Instructions for Security Applications
Authors: Jean-Pierre Münch, Thomas Schneider, and Hossein Yalame
Published: In 37th Annual Computer Security Applications Conference (ACSAC'21) (Download)
Description: To show how to use VAES for secure multi-party computation protocols and give concrete examples of how we used it, so developers can adapt it to their library / framework / application.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols and Applications
Programming Language: C/C++
Software Repository: https://github.com/encryptogroup/VASA

2020

Title: CryptoSPN: Privacy-preserving Sum-Product Network Inference
Authors: Amos Treiber, Alejandro Molina, Christian Weinert, Thomas Schneider, and Kristian Kersting
Published: In 24th European Conference on Artificial Intelligence (ECAI'20) (Download (opens in new tab))
Description: Our implementation of CryptoSPN, an extension of SPFlow to enable easily usable privacy-preserving Sum-Product Network (SPN) inference.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols
Programming Language: Python
Software Repository: https://github.com/encryptogroup/CryptoSPN

Title: Linear-Complexity Private Function Evaluation is Practical
Authors: Marco Holz, Ágnes Kiss, Deevashwer Rathee, and Thomas Schneider
Published: In 25th European Symposium on Research in Computer Security (ESORICS) (Download (opens in new tab))
Description: Implementation of linear-complexity Private Function Evaluation (PFE) based on homomorphic encryption. The project provides implementations and benchmarking infrastructure for PFE using DJN (Pailler), EC ElGamal and the Brakerski/Fan-Vercauteren (BFV) scheme.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols
Programming Language: C++
Software Repository: https://github.com/encryptogroup/linearPFE

Title: MP2ML: A Mixed-Protocol Machine Learning Frameworkfor Private Inference
Authors: Fabian Boemer, Rosario Cammarota, Daniel Demmler, Thomas Schneider, and Hossein Yalame
Published: In 15th International Conference on Availability, Reliability and Security (ARES'20) (Download (opens in new tab))
Description: Our implementation of MP2ML, integrating our ABY framework with Intel's nGraph compiler.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols
Programming Language: C++
Software Repository: https://github.com/IntelAI/he-transformer

Title: RiCaSi: Rigorous Cache Side channel mitigation via selective circuit compilation
Authors: Heiko Mantel, Lukas Scheidel, Thomas Schneider, Alexandra Weber, Christian Weinert, and Tim Weißmantel
Published: In 9th International Conference on Cryptology And Network Security (CANS'20) (Download (opens in new tab))
Description: Implementation of a toolchain for rigorous cache side channel mitigation via selective circuit compilation.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Crypto Implementations
Programming Language: Python and C/C++
Software Repository: https://www.mais.informatik.tu-darmstadt.de/ricasi

2019

Title: Mobile Private Contact Discovery at Scale
Authors: Daniel Kales, Christian Rechberger, Thomas Schneider, Matthias Senker, and Christian Weinert
Published: In 28th USENIX Security Symposium (USENIX Security'19) (Download (opens in new tab))
Description: Our implementation of two OPRF-based unbalanced PSI protocols for mobile contact discovery with security against malicious clients in C/C++ that utilize the ARM Cryptography Extensions.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols
Programming Language: C++
Software Repository: https://github.com/contact-discovery

Title: SoK: Modular and Efficient Private Decision Tree Evaluation
Authors: Ágnes Kiss, Masoud Naderpour, Jian Liu, N. Asokan, and Thomas Schneider
Published: In Proceedings on Privacy Enhancing Technologies (PoPETs), 2019(2) (Download (opens in new tab))
Description: Our efficient and modular implementation of private decision tree evaluations based on garbled circuits and/or homomorphic encryption techniques.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Applicatons
Programming Language: C++
Software Repository: https://github.com/encryptogroup/PDTE

Title: Privacy-Preserving PLDA Speaker Verification using Outsourced Secure Computation
Authors: Amos Treiber, Andreas Nautsch, Jascha Kolberg, Thomas Schneider, and Christoph Busch
Published: In Speech Communication 2019 (Download (opens in new tab))
Description: We implemented a privacy-preserving biometric speaker verification architecture based on state-of-the-art PLDA speaker recognition. The framework can be run in a variety of settings on real-world voice data and was shown to be much faster than prior work.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Applicatons
Programming Language: C++
Software Repository: https://github.com/encryptogroup/PrivateASV

2017

Title: Private set intersection for unequal set sizes with mobile applications
Authors: Ágnes Kiss, Jian Liu, Thomas Schneider, N. Asokan, and Benny Pinkas
Published: In Proceedings on Privacy Enhancing Technologies (PoPETs), 2017(4) (Download (opens in new tab) )
Description: We transformed four existing PSI protocols into the so-called precomputation form such that in the setup phase the communication is linear only in the size of the larger input set, while in the online phase the communication is linear in the size of the smaller input set. The implementation contains all four protocols and can be used to run experiments between two PCs and between a PC and a smartphone to create a systematic comparison of their performance.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols
Programming Language: C/C++/Java
Software Repository: https://github.com/encryptogroup/MobilePSI

Title: OnionPIR: Effective protection of sensitive metadata in online communication networks
Authors: Daniel Demmler, Marco Holz, and Thomas Schneider
Published: In 15th International Conference on Applied Cryptography and Network Security (ACNS'17) (Download (opens in new tab) )
Description: We proposed and implemented OnionPIR, an anonymous messaging service as an example application for PIR combined with onion routing that prevents the leakage of communication meta-data. The evaluation of this prototype shows that OnionPIR is usable in practice.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols
Programming Language: C/C++
Software Repository: https://github.com/encryptogroup/onionPIR

2016

Title: Implementation of Valiant's Universal Circuit Construction Optimized for Private Function Evaluation
Authors: Ágnes Kiss and Thomas Schneider
Published: In 35th Advances in Cryptology (EUROCRYPT'16) (Download (opens in new tab) )
Description: Our Universal Circuit Compiler implements the most efficient UC construction, originally proposed by Leslie G. Valiant in STOC'76. It accepts any Boolean circuit as input in SHDL format, provided that the gates have at most two incoming edges, and outputs the topology of the UC along with its programming bits corresponding to the circuit.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols
Programming Language: C/C++
Software Repository: https://github.com/encryptogroup/UC

2015

Title: ABY – A Framework for Efficient Mixed-protocol Secure Two-party Computation
Authors: Daniel Demmler, Thomas Schneider, Michael Zohner
Published: In 21st Network and Distributed System Security Symposium (NDSS'15) (Download (opens in new tab) )
Description: ABY is a framework for implementing secure two-party computation protocols in three different domains that allows to freely and efficiently convert between them. ABY enables the developer to abstract from smaller protocol building blocks in order to realize complex applications.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols
Programming Language: C/C++
Software Repository: https://github.com/encryptogroup/ABY

Title: PSI
Authors: Benny Pinkas, Thomas Schneider, Michael Zohner
Published: In 23rd USENIX Security Symposium (USENIX'14) (Download (opens in new tab) ) and 24th USENIX Security Symposioum (USENIX'15) (Download (opens in new tab) )
Description: Many actions in the digital world require the user to reveal his complete data. However, often the user does not want all of his data to be disclosed to a third party. For example, when using mobile messaging apps, the app requires access to the user's address book in order to identify the contacts that also use this app. This tool implements Private Set Intersection (PSI) protocols, a cryptographic technique, which allows a secure identification of common contacts, without disclosing any other data. The implemented PSI protocols thereby enable a user-controlled and privacy-preserving comparison of data.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols
Programming Language: C/C++
Software Repository: https://github.com/encryptogroup/PSI

2014

Title: Faster Privacy-Preserving Distance Computation and Biometric Identification
Authors: Julien Bringer, Herve Chabanne, Melanie Favre, Alain Patey, Thomas Schneider, Michael Zohner
Published: In 2nd ACM Workshop on Information Hiding and Multimedia Security (IHMMSEC'14) (Download (opens in new tab) )
Description: GSHADE is a tool for privacy-preserving distance computation which can be used for privacy-preserving biometric identification. GSHADE supports the following distance metrics: Hamming distance, normalized Hamming distance, Euclidean distance, and Scalar product.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols
Programming Language: C/C++
Software Repository: https://github.com/encryptogroup/GSHADE

Title: RAID-PIR – Practical multi-server PIR
Authors: Daniel Demmler, Amir Herzberg, and Thomas Schneider
Published: In 6th ACM Cloud Computing Security Workshop (CCSW'14) (Download (opens in new tab) )
Description: RAID-PIR is an efficient and simple multi-server PIR scheme, which has similar approach to RAID (Redundant Arrays of Inexpensive Disks) systems. Each server stores only a part of the database, its computational complexity depends only on this part, and multiple blocks can be queried efficiently in parallel. RAID-PIR improves efficiency over known PIR protocols, using only very efficient cryptographic primitives (pseudo-random generator).
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols
Programming Language: C/Python
Software Repository: https://github.com/encryptogroup/RAID-PIR

2013

Authors: Gilad Asharov, Yehuda Lindell, Thomas Schneider, and Michael Zohner
Published: In 20th ACM Conference on Computer and Communications Security (CCS'13) (Download (opens in new tab) )
Description: This tool implements an OT extension protocol that has less communication and computation complexity than the original OT extension protocol by Ishai et al. (CRYPTO'03) and thereby achieves a runtime improvement of at least factor 3 over existing OT extension implementations. It supports highly parallel architectures by running in a block-wise and multi-threaded fashion. Moreover, it implements the correlated and random OT functionality, which allows several secure computation protocols to further decrease the amount of data that has to be sent over the network. The tool can be applied in a wide range of deployment scenarios by allowing the designer to choose between different levels of security as well as underlying cryptographic assumptions. This tool can be used for the development of privacy preservingapplications as well as a tool to protect information in applications.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Secure Computation Protocols
Programming Language: C/C++
Software Repository: https://github.com/encryptogroup/OTExtension

Authors: Wilko Henecka, Thomas Schneider
Published: In: 8th ACM Symposium on Information, Computer and Communications Security (ASIACCS'13) (Download (opens in new tab) )
Description: The tool is an improved implementation of Yao’s garbled circuit protocol in the semi-honest adversaries setting which is up to 10 times faster than previous implementations. Its improvements include

  • the first multi-threaded implementation of the base oblivious transfers resulting in a speedup of a factor of two
  • techniques for minimizing the memory footprint during oblivious transfer extensions and processing of circuits
  • compilation of sub-circuits into files, and
  • caching of circuit descriptions and network packets.

This tool can be used for the development of privacy preserving applications as well as a tool to protect information in applications.
Target Group: Developers
Software Development Phase: Implementation
Application Environment: Compiler for Memory-Efficient Two-Party Secure Function Evaluation
Programming Language: Java

Software Repository: https://github.com/encryptogroup/me-sfe