Code
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
art Add vector version of the logo. Feb 18, 2013
bench Simplified comparisons further in BN and FP modules. Jan 9, 2019
cmake Remove YAOWI and NAFWI, as there are faster alternatives already. Nov 28, 2018
doc Integrate ED module with EC module. Nov 10, 2014
include Update LABEL with recent changes. Jan 9, 2019
preset Add preset for BN-P254 curve using GMP. Dec 7, 2018
src Merge branch 'master' of https://github.com/relic-toolkit/relic Jan 9, 2019
test Simplified comparisons further in BN and FP modules. Jan 9, 2019
tools Simplify comparisons and eliminate subtraction in FB. Jan 9, 2019
.gitignore Added target dirs and object files. Oct 15, 2018
.indent.pro Use undefined symbols from configuration and improve indentation. Oct 16, 2018
.travis.yml Refactored the configuration for SEED to avoid conflicts with ZERO. Oct 16, 2018
CMakeLists.txt There is no need to use the NONE symbol because MULTI can be undefined. Oct 16, 2018
COPYRIGHT Fix formatting. Oct 17, 2018
LICENSE Update licensing terms to include dual-license. Sep 20, 2018
LICENSE.Apache-2.0 Update licensing terms to include dual-license. Sep 20, 2018
LICENSE.LGPL-2.1 Update licensing terms to include dual-license. Sep 20, 2018
README.md Update README.md Nov 22, 2018
copyright.txt Massive commit to update copyright. Dec 8, 2018
old.txt Massive commit to update copyright. Dec 8, 2018
patch Massive commit to update copyright. Dec 8, 2018
script.sed Massive commit to update copyright. Dec 8, 2018

README.md

Project stats Build Status

RELIC is a modern cryptographic meta-toolkit with emphasis on efficiency and flexibility. RELIC can be used to build efficient and usable cryptographic toolkits tailored for specific security levels and algorithmic choices.

Goals

RELIC is an ongoing project and features will be added on demand. The focus is to provide:

  • Ease of portability and inclusion of architecture-dependent code
  • Simple experimentation with alternative implementations
  • Tests and benchmarks for every implemented function
  • Flexible configuration
  • Maximum efficiency

Algorithms

RELIC implements to date:

  • Multiple-precision integer arithmetic
  • Prime and Binary field arithmetic
  • Elliptic curves over prime and binary fields (NIST curves and pairing-friendly curves)
  • Bilinear maps and related extension fields
  • Cryptographic protocols (RSA, Rabin, ECDSA, ECMQV, ECSS (Schnorr), ECIES, Sakai-Ohgishi-Kasahara ID-based authenticated key agreement, Boneh-Lynn-Schacham and Boneh-Boyen short signatures, Paillier and Benaloh homomorphic encryption systems)

Citing

If you use RELIC, please cite using the template below:

@misc{relic-toolkit,
    author = {D. F. Aranha and C. P. L. Gouv\^{e}a},
    title = {{RELIC is an Efficient LIbrary for Cryptography}},
    howpublished = {\url{https://github.com/relic-toolkit/relic}},
}

Build instructions

Instructions for building the library can be found in the Wiki.

Support

You can probably get some help over the official mailing list at relic-discuss@googlegroups.com

If you like the library, please consider supporting development through Paypal.

Licensing

This work is dual-licensed under Apache 2.0 and LGPL 2.1-or-above to encourage collaboration with other research groups and contributions from the industry. You can choose between one of them if you use this work.

SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1

Starting from version 0.3.3, static linking and changes in the configuration or build system are explicitly exempted from representing derived works. Please refer to the LICENSE files for additional details.

Disclaimer

RELIC is at most alpha-quality software. Implementations may not be correct or secure and may include patented algorithms. There are many configuration options which make the library horribly insecure. Backward API compatibility with early versions may not necessarily be maintained. Use at your own risk.