Software & Tools

On this site you can find the software, tools and demonstrators that were developed in the context of CROSSING.

ABY - A Framework for Efficient Mixed-protocol Secure Two-party Computation

Authors: Daniel Demmler, Thomas Schneider, Michael Zohner (CROSSING Project E4)
Published: In 21st Network and Distributed System Security Symposium (NDSS'15)
http://encrypto.de/papers/DSZ15.pdf
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: http://www.encrypto.de/code/ABY


Adele - An Automatic Inference of Minimal Security Types

Authors: Dominik Bollmann, Steffen Lortz, Heiko Mantel, Artem Starostin (CROSSING Project E3)
Published: 11th International Conference on Information Systems Security (ICISS'15)
Description: The Assistant for Developing Leak-free Programs (Adele) is an Eclipse-Plugin for the static detection of information leaks in Java source code. It supports programmers in the development of secure software by providing them feedback about possible security issues in their source code as they write it. Adele provides an overview of possible security violations and highlights them in the program's source code. Further information can be found here.
Target group: Software Developer, Programmer
Software development phase: Implementation, Testing
Application environment: Usable as Eclipse-Plugin and Command-Line Tool
Programming language: Java
License: MIT License (http://opensource.org/licenses/MIT)


C-FLAT - Control- FLow ATtestation

Authors: Dr. Lucas Davi (CROSSING Project S2), Prof. N. Asokan (University of Helsinki)
Published: In ACM CCS '16
Description: Control- FLow ATtestation (C-FLAT) enables remote attestation of an application's control-flow path. 
Download: https://github.com/control-flow-attestation/c-flat
Target group: Security Practitioners, Embedded System Developers
Software development phase: Implementation, Testing
Application environment: Stand-alone C / ARM Assembler implementation
Programming language: C, ARM Assembler


CertainTrust SDK 1.0

A Robust Bayesian Trust Model for Humans and Agents
(CROSSING Project S1)

In the vision of ubiquitous computing, the activities of daily life are supported by a multitude of heterogeneous, loosely coupled computing devices. The support of seamless collaboration between users, as well as between their devices, can be seen as one of the key challenges for this vision to come true.

This project provides a trust based approach to supporting the selection of trustworthy interaction partners. The goal of this approach is to estimate an entity's trustworthiness as accurately as possible in order to improve the average quality of the entity's interactions. An online demonstrator is also available. More information can be found here.

Download: CertainTrust SDK 1.0


Faster Oblivious Transfer (OT) Extensions

Authors: Gilad Asharov, Yehuda Lindell, Thomas Schneider, and Michael Zohner (CROSSING Project E4)
Published: In 20th ACM Conference on Computer and Communications Security (CCS'13)
http://eprint.iacr.org/2013/More Efficient Oblivious Transfer and Extensions for Faster Secure Computation.pdf
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: Developer
Software development phase: Implementation
Application environment: Secure computation protocols
Programming language: C/C++
Software Repository: http://encrypto.de/code/OTExtension


FlowDroid

(CROSSING Project E1)

Description: FlowDroid is a context-, flow-, field-, object-sensitive and lifecycle-aware static taint analysis tool for Android applications. Unlike many other static-analysis approaches for Android we aim for an analysis with very high recall and precision. To achieve this goal we had to accomplish two main challenges: To increase precision we needed to build an analysis that is context-, flow-, field- and object-sensitive; to increase recall we had to create a complete model of Android’s app lifecycle.

Download: https://github.com/secure-software-engineering/soot-infoflow-android/wiki


GSHADE - Faster Privacy-Preserving Distance Computation and Biometric Identification

Authors: Julien Bringer, Herve Chabanne, Melanie Favre, Alain Patey,
Thomas Schneider, Michael Zohner (CROSSING Project E4)
Published: In 2nd ACM Workshop on Information Hiding and
Multimedia Security (IHMMSEC'14) http://encrypto.de/papers/BCFPSZ14.pdf
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: http://encrypto.de/code/GSHADE


Memory Efficient Secure Function Evaluation (me-sfe)

Authors: Wilko Henecka, Thomas Schneider (CROSSING Project E4)
Published: In: 8th ACM Symposium on Information, Computer and Communications Security (ASIACCS'13)
http://thomaschneider.de/papers/Memory Efficient Secure Function Evaluation (me-sfe).pdf
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: DeveloperSoftware development phase: ImplementationApplication environment: Compiler for Memory-Efficient Two-Party Secure Function EvaluationProgramming language: JavaSoftware Repository: encrypto.de/code/me-sfe


MobilePSI

Title: Private set intersection for unequal set sizes with mobile applications
Authors: Ágnes Kiss, Jian Liu, Thomas Schneider, N. Asokan, Benny Pinkas (CROSSING Project E4)
Published: In Proceedings on Privacy Enhancing Technologies (PoPETs), 2017(4)(Download)
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: http://encrypto.de/code/MobilePSI


OnionPIR: Effective protection of sensitive metadata in online communication networks.

Authors: Daniel Demmler, Marco Holz, and Thomas Schneider (CROSSING Project E4)
Published: In 15th International Conference on Applied Cryptography and Network Security (ACNS'17) (Download)
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++
Sourcecode Repository: https://github.com/encryptogroup/onionPIR


OPAL

(CROSSING Project E1)

Description: OPAL is an Open, extensible Analysis Library for Java bytecode which is written in Scala and which consist of multiple projects which build on top of each other. At the core is a newly developed, highly configurable and adaptable bytecode toolkit. On top of that we provide you with a framework for the abstract interpretation of Java Bytecode. These two frameworks are the foundation for various tools targeted towards developers who want to improve the quality of their software. In particular tools for specifying and validating software architectures as well as for finding bugs.

OPAL Project: http://www.opal-project.de/
Sourcecode repository: https://bitbucket.org/delors/opal


Private Set Intersection (PSI)

Authors: Benny Pinkas, Thomas Schneider, Michael Zohner (CROSSING Project E4)
Published: In 23rd USENIX Security Symposium (USENIX'14) http://encrypto.de/papers/PSZ14.pdf and 24th USENIX Security Symposioum (USENIX'15) http://encrypto.de/papers/PSZ15.pdf
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: http://www.encrypto.de/code/PSI


PUF-Toolkit

Contactperson: Nikolaos Athanasios Anagnostopoulos (CROSSING Project P3)
Published:
Description: We have implemented a toolkit for the assessment of PUFs based
on well-known metrics and for the generation of cryptographic tokens based on
their responses. Implemented metrics include Hamming weight, intra- and
inter-device Hamming distance, (Shannon) entropy, min-entropy and intra- and
inter-device Jaccard index. Cryptographic tokens can be produced using a
Golay- or a BCH-ECC-based fuzzy extractor. Parts of this toolkit have been
integrated into CogniCrypt.
Target group: Developers
Software development phase: Implementation
Programming language: C/C++
Software Repository: https://github.com/prankurgit/PUF_Toolkit/


Soot – Static code analysis and transformation for Java

Authors: CROSSING Project E1
Description: Soot is one of the most widely used analysis and transformation frameworks for Java bytecode and source code. Soot features a wide-range of intermediate representations that make static program analysis as easy as it can be. While Soot is not our own development, we are maintaining the framework at the moment. It was developed at the Sable Research Group of McGill University, but with contributions by other researchers from all over the world. Many of our existing tools are based on Soot and/or integrate with it. Further Information can be found here.
Target group: Programmer
Software development phase: Implementation
Application environment: Java, Eclipse Plugin
Programming language: Java License: LGPL 2.1


Talon Tools: The Framework for Practical IEEE 802.11ad Research

Authors: Daniel Steinmetzer, Daniel Wegemer, Matthias Hollick

Description: The Talon Tools project consolidates a set of software tools for
practical research with commodity IEEE 802.11ad devices. It bases on
TP-Link's Talon AD7200, which is the first wireless router that supports the
IEEE 802.11ad standard and was released in 2016. Using this platform allows
to investigate various aspects of 60 GHz millimeter-wave communication in
realistic on-site experiments. With our framework, we support various kinds
of experiments and evaluations performed with multiple routers in arbitrary
environments.
Web page: https://github.com/seemoo-lab/talon-tools
Responsible PI: Prof. Matthias Hollick
Department: Computer Science
Research Group: Secure Mobile Networking
Assigned to:
  - CRISP
  - CROSSING
  - NICER
   ==Project details:==
   CROSSING sub-project: S1 - Scalable Trust Infrastructures


Universal Circuit (UC) Compiler

Title: Implementation of Valiant's Universal Circuit Construction Optimized for Private Function Evaluation
Authors: Ágnes Kiss, Thomas Schneider (CROSSING Project E4)
Published: In 35th Advances in Cryptology (EUROCRYPT'16)(Download)
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++
Sourcecode Repository: https://github.com/encryptogroup/UC


XMSS: Extended Hash-Based Signatures

Authors: Project Quantencomputer-resistente Signaturverfahren für die Praxis / squareUP --- Stefan-Lukas Gazdag (genua GmbH), Denis Butin (CDC)
Published: IRTF Internet-Draft draft-irtf-cfrg-xmss-hash-based-signatures-03 (https://datatracker.ietf.org/doc/draft-irtf-cfrg-xmss-hash-based-signatures/)
Description: The hash-based signature scheme XMSS is specified in the Internet-Draft "XMSS: Extended Hash-Based Signatures". Hash-based signatures are the first post-quantum signature scheme undergoing standardisation. This open source implementation closely follows the Internet-Draft, and is available on the squareUP project website (http://www.pqsignatures.org/index/publications.html#code).
Target group: Standardisation and specification organisation members, stakeholders
Software development phase: Cross-tested, available
Application environment: Stand-alone C implementation, OpenSSL dependency
Programming language: C
License: BSD License

A A A | Drucken Print | Impressum Impressum | Sitemap Sitemap | Kontakt Contact | Website Analysis: More Information
zum Seitenanfangzum Seitenanfang