https://github.com/status-im/nim-bncurve
Nim Barreto-Naehrig pairing-friendly elliptic curve implementation
https://github.com/status-im/nim-bncurve
Last synced: 3 months ago
JSON representation
Nim Barreto-Naehrig pairing-friendly elliptic curve implementation
- Host: GitHub
- URL: https://github.com/status-im/nim-bncurve
- Owner: status-im
- License: apache-2.0
- Created: 2018-09-27T10:00:35.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-12-11T11:12:38.000Z (6 months ago)
- Last Synced: 2025-02-22T17:43:32.113Z (3 months ago)
- Language: Nim
- Size: 5.14 MB
- Stars: 5
- Watchers: 21
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHEv2
Awesome Lists containing this project
- awesome-nim - bncurve - Nim implementation of Barreto-Naehrig pairing-friendly elliptic curve. (Algorithms / Cryptography)
README
## BNCurve
[](https://opensource.org/licenses/Apache-2.0)
[](https://opensource.org/licenses/MIT)

## 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.