Socket
Book a DemoInstallSign in
Socket

io.github.apl-cornell:aby-java

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

io.github.apl-cornell:aby-java

Java bindings for the ABY framework.

0.2.2
Source
mavenMaven
Version published
Maintainers
1
Source

ABY Java

ABY is a cryptographic framework for secure two-party computation implemented in C++. This library provides a painless way to use ABY from Java. It bundles a Java interface along with a native binary for each supported platform. At run time, the library extracts the correct binary based on the system. This allows you to use ABY as any other Maven dependency, completely ignoring the fact that the framework is implemented in C++.

Supported Platforms

We currently build native libraries for macOS and Linux. ABY (transitively) depends on GMP, which doesn't work on Windows.

Building

You need to have Java and Docker installed. Then, simply run:

./gradlew build

This command uses Docker to generate the Java interface and build the native binaries. It then copies the generated files from Docker to your machine, assembles the library JAR, and runs units tests.

Using Docker ensures reliable and portable builds. For example, it allows building a macOS binary on a Linux machine without any setup, and ensures the generated binary is the same no matter where it is generated.

We generate the Java interface from the C++ interface using SWIG, and use dockcross to build the native binaries.

Development

ABY Java does not expose all features of ABY. You can extend the SWIG interface file ABY.i to include more features. Refer to the SWIG documentation and especially the section on Java for more information.

ABY Java is based on the fork apl-cornell/ABY. You can contribute to that repository if you need to make changes to ABY source code. You need to update the version of ABY specified in build.gradle.kts if you do.

After making changes, create a new release on GitHub. This will build and publish a new version of the library.

FAQs

Package last updated on 22 Feb 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.