nil::crypto3::algebra::fields Namespace Reference

Namespaces

 detail
 

Classes

struct  alt_bn128_base_field
 IETF IPsec groups. More...
 
struct  alt_bn128_base_field< 254 >
 
struct  alt_bn128_scalar_field
 IETF IPsec groups. More...
 
struct  alt_bn128_scalar_field< 254 >
 
struct  arithmetic_params
 
struct  arithmetic_params< alt_bn128_base_field< 254 > >
 
struct  arithmetic_params< alt_bn128_scalar_field< 254 > >
 
struct  arithmetic_params< bls12_base_field< 377 > >
 
struct  arithmetic_params< bls12_base_field< 381 > >
 
struct  arithmetic_params< bls12_scalar_field< 377 > >
 
struct  arithmetic_params< bls12_scalar_field< 381 > >
 
struct  arithmetic_params< bn128_base_field< Version > >
 
struct  arithmetic_params< bn128_scalar_field< Version > >
 
struct  arithmetic_params< dsa_botan_base_field< 2048 > >
 
struct  arithmetic_params< dsa_botan_base_field< 3072 > >
 
struct  arithmetic_params< dsa_jce_base_field< Version > >
 
struct  arithmetic_params< edwards_base_field< Version > >
 
struct  arithmetic_params< edwards_scalar_field< Version > >
 
struct  arithmetic_params< fp2< alt_bn128_base_field< 254 > > >
 
struct  arithmetic_params< fp2< bls12_base_field< 377 > > >
 
struct  arithmetic_params< fp2< bls12_base_field< 381 > > >
 
struct  arithmetic_params< fp2< bn128_base_field< Version > > >
 
struct  arithmetic_params< fp2< mnt4_base_field< 298 > > >
 
struct  arithmetic_params< fp3< edwards_base_field< Version > > >
 
struct  arithmetic_params< fp3< mnt6_base_field< 298 > > >
 
struct  arithmetic_params< mnt4_base_field< 298 > >
 
struct  arithmetic_params< mnt6_base_field< 298 > >
 
struct  arithmetic_params< pallas_scalar_field< 255 > >
 
struct  arithmetic_params< vesta_scalar_field< 255 > >
 
struct  babyjubjub_scalar_field
 BabyJubJub curve scalar field. More...
 
struct  bls12_base_field
 IETF IPsec groups. More...
 
struct  bls12_base_field< 377 >
 
struct  bls12_base_field< 381 >
 
struct  bls12_scalar_field
 
struct  bls12_scalar_field< 377 >
 
struct  bls12_scalar_field< 381 >
 
struct  bn128_base_field
 IETF IPsec groups. More...
 
struct  bn128_base_field< 254 >
 
struct  bn128_scalar_field
 IETF IPsec groups. More...
 
struct  bn128_scalar_field< 254 >
 
struct  brainpool_r1_base_field
 IETF IPsec groups. More...
 
struct  brainpool_r1_base_field< 160 >
 
struct  brainpool_r1_base_field< 192 >
 
struct  brainpool_r1_base_field< 224 >
 
struct  brainpool_r1_base_field< 256 >
 
struct  brainpool_r1_base_field< 320 >
 
struct  brainpool_r1_base_field< 384 >
 
struct  brainpool_r1_base_field< 512 >
 
struct  brainpool_r1_scalar_field
 IETF IPsec groups. More...
 
struct  brainpool_r1_scalar_field< 160 >
 
struct  brainpool_r1_scalar_field< 192 >
 
struct  brainpool_r1_scalar_field< 224 >
 
struct  brainpool_r1_scalar_field< 256 >
 
struct  brainpool_r1_scalar_field< 320 >
 
struct  brainpool_r1_scalar_field< 384 >
 
struct  brainpool_r1_scalar_field< 512 >
 
struct  curve25519_base_field
 A struct representing a curve25519 curve. https://datatracker.ietf.org/doc/html/rfc7748#section-4.1 https://neuromancer.sk/std/other/Curve25519# https://neuromancer.sk/std/other/Ed25519#. More...
 
struct  curve25519_scalar_field
 A struct representing a curve25519 curve. https://datatracker.ietf.org/doc/html/rfc7748#section-4.1 https://neuromancer.sk/std/other/Curve25519# https://neuromancer.sk/std/other/Ed25519#. More...
 
struct  dsa_botan
 DSA group. More...
 
struct  dsa_botan< 2048 >
 
struct  dsa_botan< 3072 >
 
struct  dsa_jce
 DSA group. More...
 
struct  dsa_jce< 1024 >
 
struct  ed25519
 ED25519 groups. More...
 
struct  ed25519< 255 >
 
struct  edwards_base_field
 IETF IPsec groups. More...
 
struct  edwards_base_field< 183 >
 
struct  edwards_scalar_field
 IETF IPsec groups. More...
 
struct  edwards_scalar_field< 183 >
 
struct  ffdhe_ietf
 TLS FFDHE groups. More...
 
struct  ffdhe_ietf< 2048 >
 
struct  ffdhe_ietf< 3072 >
 
struct  ffdhe_ietf< 4096 >
 
struct  ffdhe_ietf< 6144 >
 
struct  ffdhe_ietf< 8192 >
 
struct  field
 
struct  fp12_2over3over2
 
struct  fp2
 
struct  fp3
 
struct  fp4
 
struct  fp6_2over3
 
struct  fp6_3over2
 
struct  frp_v1_base_fields
 IETF IPsec groups. More...
 
struct  frp_v1_base_fields< 256 >
 
struct  frp_v1_scalar_field
 IETF IPsec groups. More...
 
struct  frp_v1_scalar_field< 256 >
 
struct  gost_A_base_field
 IETF IPsec groups. More...
 
struct  gost_A_base_field< 256 >
 
struct  gost_A_scalar_field
 IETF IPsec groups. More...
 
struct  gost_A_scalar_field< 256 >
 
struct  jubjub_scalar_field
 JubJub curve scalar field. More...
 
struct  mnt4_base_field
 IETF IPsec groups. More...
 
struct  mnt4_base_field< 298 >
 
struct  mnt6_base_field
 IETF IPsec groups. More...
 
struct  mnt6_base_field< 298 >
 
struct  modp_ietf
 IETF IPsec groups. More...
 
struct  modp_ietf< 1024 >
 
struct  modp_ietf< 1536 >
 
struct  modp_ietf< 2048 >
 
struct  modp_ietf< 3072 >
 
struct  modp_ietf< 4096 >
 
struct  modp_ietf< 6144 >
 
struct  modp_ietf< 8192 >
 
struct  modp_srp
 SRP groups SRP groups have a p st (p-1)/2 is prime, but g is not a generator of subgroup of size q, so set q == 0 to bypass generator check. More...
 
struct  modp_srp< 1024 >
 
struct  modp_srp< 1536 >
 
struct  modp_srp< 2048 >
 
struct  modp_srp< 3072 >
 
struct  modp_srp< 4096 >
 
struct  modp_srp< 6144 >
 
struct  modp_srp< 8192 >
 
struct  pallas_base_field
 A struct representing a pallas curve. More...
 
struct  pallas_scalar_field
 A struct representing a pallas curve. More...
 
struct  params
 
struct  secp_k1_base_field
 IETF IPsec groups. More...
 
struct  secp_k1_base_field< 160 >
 
struct  secp_k1_base_field< 192 >
 
struct  secp_k1_base_field< 224 >
 
struct  secp_k1_base_field< 256 >
 
struct  secp_k1_scalar_field
 
struct  secp_k1_scalar_field< 160 >
 
struct  secp_k1_scalar_field< 192 >
 
struct  secp_k1_scalar_field< 224 >
 
struct  secp_k1_scalar_field< 256 >
 
struct  secp_r1_base_field
 IETF IPsec groups. More...
 
struct  secp_r1_base_field< 160 >
 
struct  secp_r1_base_field< 192 >
 
struct  secp_r1_base_field< 224 >
 
struct  secp_r1_base_field< 256 >
 
struct  secp_r1_base_field< 384 >
 
struct  secp_r1_base_field< 521 >
 
struct  secp_r1_scalar_field
 
struct  secp_r1_scalar_field< 160 >
 
struct  secp_r1_scalar_field< 192 >
 
struct  secp_r1_scalar_field< 224 >
 
struct  secp_r1_scalar_field< 256 >
 
struct  secp_r1_scalar_field< 384 >
 
struct  secp_r1_scalar_field< 521 >
 
struct  sect_k1_base_field
 IETF IPsec groups. More...
 
struct  sect_k1_base_field< 163 >
 
struct  sect_k1_scalar_field
 
struct  sect_k1_scalar_field< 163 >
 
struct  sm2p_v1_base_field
 IETF IPsec groups. More...
 
struct  sm2p_v1_base_field< 256 >
 
struct  sm2p_v1_scalar_field
 IETF IPsec groups. More...
 
struct  sm2p_v1_scalar_field< 256 >
 
struct  vesta_base_field
 A struct representing a vesta curve. More...
 
struct  vesta_scalar_field
 A struct representing a vesta curve. More...
 
struct  x962_p_v1_base_field
 IETF IPsec groups. More...
 
struct  x962_p_v1_base_field< 239 >
 
struct  x962_p_v1_scalar_field
 IETF IPsec groups. More...
 
struct  x962_p_v1_scalar_field< 239 >
 
struct  x962_p_v2_base_field
 
struct  x962_p_v2_base_field< 192 >
 
struct  x962_p_v2_base_field< 239 >
 
struct  x962_p_v2_scalar_field
 
struct  x962_p_v2_scalar_field< 192 >
 
struct  x962_p_v2_scalar_field< 239 >
 
struct  x962_p_v3_base_field
 
struct  x962_p_v3_base_field< 192 >
 
struct  x962_p_v3_base_field< 239 >
 
struct  x962_p_v3_scalar_field
 
struct  x962_p_v3_scalar_field< 192 >
 
struct  x962_p_v3_scalar_field< 239 >
 

Typedefs

template<std::size_t Version = 254>
using alt_bn128 = alt_bn128_base_field< Version >
 
template<std::size_t Version = 254>
using alt_bn128_fq = alt_bn128_base_field< Version >
 
template<std::size_t Version = 254>
using alt_bn128_fr = alt_bn128_scalar_field< Version >
 
using babyjubjub = babyjubjub_base_field
 
using babyjubjub_base_field = alt_bn128_scalar_field< 254 >
 IETF IPsec groups. More...
 
using babyjubjub_fq = babyjubjub_base_field
 
using babyjubjub_fr = babyjubjub_scalar_field
 
template<std::size_t Version = 381>
using bls12 = bls12_base_field< Version >
 
template<std::size_t Version = 381>
using bls12_fq = bls12_base_field< Version >
 
template<std::size_t Version = 381>
using bls12_fr = bls12_scalar_field< Version >
 
template<std::size_t Version = 254>
using bn128 = bn128_base_field< Version >
 
template<std::size_t Version = 254>
using bn128_fq = bn128_base_field< Version >
 
template<std::size_t Version = 254>
using bn128_fr = bn128_scalar_field< Version >
 
template<std::size_t Version = 160>
using brainpool_r1 = brainpool_r1_base_field< Version >
 
template<std::size_t Version = 160>
using brainpool_r1_fq = brainpool_r1_base_field< Version >
 
template<std::size_t Version = 160>
using brainpool_r1_fr = brainpool_r1_scalar_field< Version >
 
using curve25519_fq = curve25519_base_field
 
using curve25519_fr = curve25519_scalar_field
 
template<std::size_t Version = 183>
using edwards = edwards_base_field< Version >
 
template<std::size_t Version = 183>
using edwards_fq = edwards_base_field< Version >
 
template<std::size_t Version = 183>
using edwards_fr = edwards_scalar_field< Version >
 
template<std::size_t Version = 256>
using frp_v1 = frp_v1_base_field< Version >
 
template<std::size_t Version = 256>
using frp_v1_fq = frp_v1_base_field< Version >
 
template<std::size_t Version = 256>
using frp_v1_fr = frp_v1_scalar_field< Version >
 
template<std::size_t Version = 256>
using gost_A = gost_A_base_field< Version >
 
template<std::size_t Version = 256>
using gost_A_fq = gost_A_base_field< Version >
 
template<std::size_t Version = 256>
using gost_A_fr = gost_A_scalar_field< Version >
 
using jubjub = jubjub_base_field
 
using jubjub_base_field = bls12_scalar_field< 381 >
 IETF IPsec groups. More...
 
using jubjub_fq = jubjub_base_field
 
using jubjub_fr = jubjub_scalar_field
 
template<std::size_t Version = 298>
using mnt4 = mnt4_base_field< Version >
 
template<std::size_t Version = 298>
using mnt4_fq = mnt4_base_field< Version >
 
template<std::size_t Version = 298>
using mnt4_fr = mnt4_scalar_field< Version >
 
template<std::size_t Version = 298>
using mnt4_scalar_field = mnt6_base_field< Version >
 IETF IPsec groups. More...
 
template<std::size_t Version = 298>
using mnt6 = mnt6_base_field< Version >
 
template<std::size_t Version = 298>
using mnt6_fq = mnt6_base_field< Version >
 
template<std::size_t Version = 298>
using mnt6_fr = mnt6_scalar_field< Version >
 
template<std::size_t Version = 298>
using mnt6_scalar_field = mnt4_base_field< Version >
 IETF IPsec groups. More...
 
using pallas_fq = pallas_base_field
 
using pallas_fr = pallas_scalar_field
 
template<std::size_t Version>
using secp_k1_fq = secp_k1_base_field< Version >
 
template<std::size_t Version>
using secp_k1_fr = secp_k1_scalar_field< Version >
 
template<std::size_t Version>
using secp_r1_fq = secp_r1_base_field< Version >
 
template<std::size_t Version>
using secp_r1_fr = secp_r1_scalar_field< Version >
 
template<std::size_t Version>
using sect_k1_fq = sect_k1_base_field< Version >
 
template<std::size_t Version>
using sect_k1_fr = sect_k1_scalar_field< Version >
 
template<std::size_t Version = 256>
using sm2p_v1 = sm2p_v1_base_field< Version >
 
template<std::size_t Version = 256>
using sm2p_v1_fq = sm2p_v1_base_field< Version >
 
template<std::size_t Version = 256>
using sm2p_v1_fr = sm2p_v1_scalar_field< Version >
 
using vesta_fq = vesta_base_field
 
using vesta_fr = vesta_scalar_field
 
template<std::size_t Version = 239>
using x962_p_v1 = x962_p_v1_base_field< Version >
 
template<std::size_t Version = 239>
using x962_p_v1_fq = x962_p_v1_base_field< Version >
 
template<std::size_t Version = 239>
using x962_p_v1_fr = x962_p_v1_scalar_field_field< Version >
 
template<std::size_t Version = 192>
using x962_p_v2 = x962_p_v2_base_field< Version >
 
template<std::size_t Version = 192>
using x962_p_v2_fq = x962_p_v2_base_field< Version >
 
template<std::size_t Version = 192>
using x962_p_v2_fr = x962_p_v2_scalar_field_field< Version >
 
template<std::size_t Version = 192>
using x962_p_v3 = x962_p_v3_base_field< Version >
 
template<std::size_t Version = 192>
using x962_p_v3_fq = x962_p_v3_base_field< Version >
 
template<std::size_t Version = 192>
using x962_p_v3_fr = x962_p_v3_scalar_field_field< Version >
 

Typedef Documentation

◆ alt_bn128

template<std::size_t Version = 254>
using nil::crypto3::algebra::fields::alt_bn128 = typedef alt_bn128_base_field<Version>

◆ alt_bn128_fq

template<std::size_t Version = 254>
using nil::crypto3::algebra::fields::alt_bn128_fq = typedef alt_bn128_base_field<Version>

◆ alt_bn128_fr

template<std::size_t Version = 254>
using nil::crypto3::algebra::fields::alt_bn128_fr = typedef alt_bn128_scalar_field<Version>

◆ babyjubjub

◆ babyjubjub_base_field

IETF IPsec groups.

Template Parameters
Version

◆ babyjubjub_fq

◆ babyjubjub_fr

◆ bls12

template<std::size_t Version = 381>
using nil::crypto3::algebra::fields::bls12 = typedef bls12_base_field<Version>

◆ bls12_fq

template<std::size_t Version = 381>
using nil::crypto3::algebra::fields::bls12_fq = typedef bls12_base_field<Version>

◆ bls12_fr

template<std::size_t Version = 381>
using nil::crypto3::algebra::fields::bls12_fr = typedef bls12_scalar_field<Version>

◆ bn128

template<std::size_t Version = 254>
using nil::crypto3::algebra::fields::bn128 = typedef bn128_base_field<Version>

◆ bn128_fq

template<std::size_t Version = 254>
using nil::crypto3::algebra::fields::bn128_fq = typedef bn128_base_field<Version>

◆ bn128_fr

template<std::size_t Version = 254>
using nil::crypto3::algebra::fields::bn128_fr = typedef bn128_scalar_field<Version>

◆ brainpool_r1

template<std::size_t Version = 160>
using nil::crypto3::algebra::fields::brainpool_r1 = typedef brainpool_r1_base_field<Version>

◆ brainpool_r1_fq

template<std::size_t Version = 160>
using nil::crypto3::algebra::fields::brainpool_r1_fq = typedef brainpool_r1_base_field<Version>

◆ brainpool_r1_fr

template<std::size_t Version = 160>
using nil::crypto3::algebra::fields::brainpool_r1_fr = typedef brainpool_r1_scalar_field<Version>

◆ curve25519_fq

◆ curve25519_fr

◆ edwards

template<std::size_t Version = 183>
using nil::crypto3::algebra::fields::edwards = typedef edwards_base_field<Version>

◆ edwards_fq

template<std::size_t Version = 183>
using nil::crypto3::algebra::fields::edwards_fq = typedef edwards_base_field<Version>

◆ edwards_fr

template<std::size_t Version = 183>
using nil::crypto3::algebra::fields::edwards_fr = typedef edwards_scalar_field<Version>

◆ frp_v1

template<std::size_t Version = 256>
using nil::crypto3::algebra::fields::frp_v1 = typedef frp_v1_base_field<Version>

◆ frp_v1_fq

template<std::size_t Version = 256>
using nil::crypto3::algebra::fields::frp_v1_fq = typedef frp_v1_base_field<Version>

◆ frp_v1_fr

template<std::size_t Version = 256>
using nil::crypto3::algebra::fields::frp_v1_fr = typedef frp_v1_scalar_field<Version>

◆ gost_A

template<std::size_t Version = 256>
using nil::crypto3::algebra::fields::gost_A = typedef gost_A_base_field<Version>

◆ gost_A_fq

template<std::size_t Version = 256>
using nil::crypto3::algebra::fields::gost_A_fq = typedef gost_A_base_field<Version>

◆ gost_A_fr

template<std::size_t Version = 256>
using nil::crypto3::algebra::fields::gost_A_fr = typedef gost_A_scalar_field<Version>

◆ jubjub

◆ jubjub_base_field

IETF IPsec groups.

Template Parameters
Version

◆ jubjub_fq

◆ jubjub_fr

◆ mnt4

template<std::size_t Version = 298>
using nil::crypto3::algebra::fields::mnt4 = typedef mnt4_base_field<Version>

◆ mnt4_fq

template<std::size_t Version = 298>
using nil::crypto3::algebra::fields::mnt4_fq = typedef mnt4_base_field<Version>

◆ mnt4_fr

template<std::size_t Version = 298>
using nil::crypto3::algebra::fields::mnt4_fr = typedef mnt4_scalar_field<Version>

◆ mnt4_scalar_field

template<std::size_t Version = 298>
using nil::crypto3::algebra::fields::mnt4_scalar_field = typedef mnt6_base_field<Version>

IETF IPsec groups.

Template Parameters
Version

◆ mnt6

template<std::size_t Version = 298>
using nil::crypto3::algebra::fields::mnt6 = typedef mnt6_base_field<Version>

◆ mnt6_fq

template<std::size_t Version = 298>
using nil::crypto3::algebra::fields::mnt6_fq = typedef mnt6_base_field<Version>

◆ mnt6_fr

template<std::size_t Version = 298>
using nil::crypto3::algebra::fields::mnt6_fr = typedef mnt6_scalar_field<Version>

◆ mnt6_scalar_field

template<std::size_t Version = 298>
using nil::crypto3::algebra::fields::mnt6_scalar_field = typedef mnt4_base_field<Version>

IETF IPsec groups.

Template Parameters
Version

◆ pallas_fq

◆ pallas_fr

◆ secp_k1_fq

template<std::size_t Version>
using nil::crypto3::algebra::fields::secp_k1_fq = typedef secp_k1_base_field<Version>

◆ secp_k1_fr

template<std::size_t Version>
using nil::crypto3::algebra::fields::secp_k1_fr = typedef secp_k1_scalar_field<Version>

◆ secp_r1_fq

template<std::size_t Version>
using nil::crypto3::algebra::fields::secp_r1_fq = typedef secp_r1_base_field<Version>

◆ secp_r1_fr

template<std::size_t Version>
using nil::crypto3::algebra::fields::secp_r1_fr = typedef secp_r1_scalar_field<Version>

◆ sect_k1_fq

template<std::size_t Version>
using nil::crypto3::algebra::fields::sect_k1_fq = typedef sect_k1_base_field<Version>

◆ sect_k1_fr

template<std::size_t Version>
using nil::crypto3::algebra::fields::sect_k1_fr = typedef sect_k1_scalar_field<Version>

◆ sm2p_v1

template<std::size_t Version = 256>
using nil::crypto3::algebra::fields::sm2p_v1 = typedef sm2p_v1_base_field<Version>

◆ sm2p_v1_fq

template<std::size_t Version = 256>
using nil::crypto3::algebra::fields::sm2p_v1_fq = typedef sm2p_v1_base_field<Version>

◆ sm2p_v1_fr

template<std::size_t Version = 256>
using nil::crypto3::algebra::fields::sm2p_v1_fr = typedef sm2p_v1_scalar_field<Version>

◆ vesta_fq

◆ vesta_fr

◆ x962_p_v1

template<std::size_t Version = 239>
using nil::crypto3::algebra::fields::x962_p_v1 = typedef x962_p_v1_base_field<Version>

◆ x962_p_v1_fq

template<std::size_t Version = 239>
using nil::crypto3::algebra::fields::x962_p_v1_fq = typedef x962_p_v1_base_field<Version>

◆ x962_p_v1_fr

template<std::size_t Version = 239>
using nil::crypto3::algebra::fields::x962_p_v1_fr = typedef x962_p_v1_scalar_field_field<Version>

◆ x962_p_v2

template<std::size_t Version = 192>
using nil::crypto3::algebra::fields::x962_p_v2 = typedef x962_p_v2_base_field<Version>

◆ x962_p_v2_fq

template<std::size_t Version = 192>
using nil::crypto3::algebra::fields::x962_p_v2_fq = typedef x962_p_v2_base_field<Version>

◆ x962_p_v2_fr

template<std::size_t Version = 192>
using nil::crypto3::algebra::fields::x962_p_v2_fr = typedef x962_p_v2_scalar_field_field<Version>

◆ x962_p_v3

template<std::size_t Version = 192>
using nil::crypto3::algebra::fields::x962_p_v3 = typedef x962_p_v3_base_field<Version>

◆ x962_p_v3_fq

template<std::size_t Version = 192>
using nil::crypto3::algebra::fields::x962_p_v3_fq = typedef x962_p_v3_base_field<Version>

◆ x962_p_v3_fr

template<std::size_t Version = 192>
using nil::crypto3::algebra::fields::x962_p_v3_fr = typedef x962_p_v3_scalar_field_field<Version>