Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/status-im/nim-bncurve

Nim Barreto-Naehrig pairing-friendly elliptic curve implementation
https://github.com/status-im/nim-bncurve

Last synced: 6 days ago
JSON representation

Nim Barreto-Naehrig pairing-friendly elliptic curve implementation

Awesome Lists containing this project

README

        

## BNCurve
[![License: Apache](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
![Stability: experimental](https://img.shields.io/badge/stability-experimental-orange.svg)
![Github action](https://github.com/status-im/nim-bncurve/workflows/CI/badge.svg)

## Introduction
This pure Nim implementation of Barreto-Naehrig pairing-friendly elliptic curve.

This is a [pairing cryptography](https://en.wikipedia.org/wiki/Pairing-based_cryptography) library written in pure Nim. It makes use of the Barreto-Naehrig (BN) curve construction from [[BCTV2015]](https://eprint.iacr.org/2013/879.pdf) to provide two cyclic groups **G1** and **G2**, with an efficient bilinear pairing:

*e: G1 × G2 → GT*

This code is adaptation of [bn](https://github.com/zcash-hackworks/bn) library.

## Security warnings

This library, like other pairing cryptography libraries implementing this construction, is not resistant to side-channel attacks.

## Installation

Add to your `.nimble` file:
```
requires "https://github.com/status-im/nim-bncurve"
```

or install it via
```
nimble install https://github.com/status-im/nim-bncurve
```

## Build and test

```
nimble install https://github.com/status-im/nim-bncurve
nimble test
```

## License

Licensed and distributed under either of

* MIT license: [LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT

or

* Apache License, Version 2.0, ([LICENSE-APACHEv2](LICENSE-APACHEv2) or http://www.apache.org/licenses/LICENSE-2.0)

at your option. This file may not be copied, modified, or distributed except according to those terms.