No description
Find a file
2025-12-10 14:58:09 +01:00
.github/workflows Remove random function definitions when compiling to bare metal (#15) 2025-12-10 14:58:09 +01:00
benchmarks Port tests to unittest2, add simple benchmark (#12) 2024-12-10 14:16:47 +01:00
bncurve Remove random function definitions when compiling to bare metal (#15) 2025-12-10 14:58:09 +01:00
tests Cleanups, bump stint/stew (#13) 2024-12-11 12:12:35 +01:00
.gitignore Port tests to unittest2, add simple benchmark (#12) 2024-12-10 14:16:47 +01:00
bncurve.nim Initial commit. 2018-09-27 13:35:59 +03:00
bncurve.nimble Cleanups, bump stint/stew (#13) 2024-12-11 12:12:35 +01:00
LICENSE-APACHEv2 Initial commit. 2018-09-27 13:35:59 +03:00
LICENSE-MIT Initial commit. 2018-09-27 13:35:59 +03:00
README.md add github action 2022-04-08 09:04:30 +07:00

BNCurve

License: Apache License: MIT Stability: experimental Github action

Introduction

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

This is a pairing cryptography library written in pure Nim. It makes use of the Barreto-Naehrig (BN) curve construction from [BCTV2015] to provide two cyclic groups G1 and G2, with an efficient bilinear pairing:

e: G1 × G2 → GT

This code is adaptation of 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

or

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