Crate pairing_ce[][src]

Re-exports

pub extern crate ff;

Modules

bls12_381
bn256
compact_bn256
hex

Structs

BitIterator
EncodingBytes
Wnaf

A “w-ary non-adjacent form” exponentiation context.

Enums

GroupDecodingError

An error that may occur when trying to decode an EncodedPoint.

LegendreSymbol
PrimeFieldDecodingError

An error that may occur when trying to interpret a PrimeFieldRepr as a PrimeField element.

Traits

CurveAffine

Affine representation of an elliptic curve point guaranteed to be in the correct prime order subgroup.

CurveProjective

Projective representation of an elliptic curve point guaranteed to be in the correct prime order subgroup.

EncodedPoint

An encoded elliptic curve point, which should essentially wrap a [u8; N].

Engine

An “engine” is a collection of types (fields, elliptic curve groups, etc.) with well-defined relationships. In particular, the G1/G2 curve groups are of prime order r, and are equipped with a bilinear pairing function.

Field

This trait represents an element of a field.

GenericCompressedEncodable
GenericCurveAffine

Affine representation of an elliptic curve point guaranteed to be in the correct prime order subgroup.

GenericCurveProjective

Projective representation of an elliptic curve point guaranteed to be in the correct prime order subgroup.

GenericRawEncodable
GenericUncompressedEncodable
PrimeField

This represents an element of a prime field.

PrimeFieldRepr

This trait represents a wrapper around a biginteger which can encode any element of a particular prime field. It is a smart wrapper around a sequence of u64 limbs, least-significant digit first.

RawEncodable
ScalarEngine

An “engine” is a collection of types (fields, elliptic curve groups, etc.) with well-defined relationships. Specific relationships (for example, a pairing-friendly curve) can be defined in a subtrait.

SqrtField

This trait represents an element of a field that has a square root operation described for it.

Functions

adc

Calculate a + b + carry, returning the sum and modifying the carry value.

from_hex
full_width_mul
mac_by_value
mac_by_value_return_carry_only
mac_with_carry

Calculate a + (b * c) + carry, returning the least significant digit and setting carry to the most significant digit.

mac_with_carry_by_value
mac_with_low_and_high_carry_by_value
mul_double_add_add_carry_by_value
mul_double_add_add_carry_by_value_ignore_superhi
mul_double_add_add_low_and_high_carry_by_value
mul_double_add_add_low_and_high_carry_by_value_ignore_superhi
mul_double_add_by_value
mul_double_add_low_and_high_carry_by_value
mul_double_add_low_and_high_carry_by_value_ignore_superhi
sbb

Calculate a - b - borrow, returning the result and modifying the borrow value.

to_hex

Derive Macros

PrimeField