mirror of
https://github.com/status-im/nim-bncurve.git
synced 2025-02-22 09:48:13 +00:00
50 lines
1.7 KiB
Markdown
50 lines
1.7 KiB
Markdown
## 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 **G<sub>1</sub>** and **G<sub>2</sub>**, with an efficient bilinear pairing:
|
||
|
||
*e: G<sub>1</sub> × G<sub>2</sub> → G<sub>T</sub>*
|
||
|
||
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.
|