rscrypto 0.1.0

Rust crypto with zero default deps: BLAKE3, Ed25519/X25519, hashes, MACs, KDFs, AEADs, and checksums with SIMD/ASM acceleration.
Documentation
//! Precomputed odd-multiples basepoint table for Ed25519 verify wNAF(5).
//!
//! Generated from the canonical Ed25519 basepoint using portable scalar math.
//! Validated by `gen_basepoint_wnaf5_table` in `point.rs`.

use super::{CachedPoint, FieldElement};

pub(crate) static BASEPOINT_WNAF5_TABLE: [CachedPoint; 8] = [
  // 1B
  CachedPoint {
    y_plus_x: FieldElement::from_limbs([
      1288382639258501,
      245678601348599,
      269427782077623,
      1462984067271730,
      137412439391563,
    ]),
    y_minus_x: FieldElement::from_limbs([
      62697248952638,
      204681361388450,
      631292143396476,
      338455783676468,
      1213667448819585,
    ]),
    t2d: FieldElement::from_limbs([
      301289933810280,
      1259582250014073,
      1422107436869536,
      796239922652654,
      1953934009299142,
    ]),
  },
  // 3B
  CachedPoint {
    y_plus_x: FieldElement::from_limbs([
      1601611775252272,
      1720807796594148,
      1132070835939856,
      1260455018889551,
      2147779492816911,
    ]),
    y_minus_x: FieldElement::from_limbs([
      316559037616741,
      2177824224946892,
      1459442586438991,
      1461528397712656,
      751590696113597,
    ]),
    t2d: FieldElement::from_limbs([
      1850748884277385,
      1200145853858453,
      1068094770532492,
      672251375690438,
      1586055907191707,
    ]),
  },
  // 5B
  CachedPoint {
    y_plus_x: FieldElement::from_limbs([
      769950342298419,
      132954430919746,
      844085933195555,
      974092374476333,
      726076285546016,
    ]),
    y_minus_x: FieldElement::from_limbs([
      425251763115706,
      608463272472562,
      442562545713235,
      837766094556764,
      374555092627893,
    ]),
    t2d: FieldElement::from_limbs([
      1086255230780037,
      274979815921559,
      1960002765731872,
      929474102396301,
      1190409889297339,
    ]),
  },
  // 7B
  CachedPoint {
    y_plus_x: FieldElement::from_limbs([
      665000864555967,
      2065379846933859,
      370231110385876,
      350988370788628,
      1233371373142985,
    ]),
    y_minus_x: FieldElement::from_limbs([
      2019367628972465,
      676711900706637,
      110710997811333,
      1108646842542025,
      517791959672113,
    ]),
    t2d: FieldElement::from_limbs([
      965130719900578,
      247011430587952,
      526356006571389,
      91986625355052,
      2157223321444601,
    ]),
  },
  // 9B
  CachedPoint {
    y_plus_x: FieldElement::from_limbs([
      1802695059465007,
      1664899123557221,
      593559490740857,
      2160434469266659,
      927570450755031,
    ]),
    y_minus_x: FieldElement::from_limbs([
      1725674970513508,
      1933645953859181,
      1542344539275782,
      1767788773573747,
      1297447965928905,
    ]),
    t2d: FieldElement::from_limbs([
      1381809363726107,
      1430341051343062,
      2061843536018959,
      1551778050872521,
      2036394857967624,
    ]),
  },
  // 11B
  CachedPoint {
    y_plus_x: FieldElement::from_limbs([
      1970894096313054,
      528066325833207,
      1619374932191227,
      2207306624415883,
      1169170329061080,
    ]),
    y_minus_x: FieldElement::from_limbs([
      2070390218572616,
      1458919061857835,
      624171843017421,
      1055332792707765,
      433987520732508,
    ]),
    t2d: FieldElement::from_limbs([
      893653801273833,
      1168026499324677,
      1242553501121234,
      1306366254304474,
      1086752658510815,
    ]),
  },
  // 13B
  CachedPoint {
    y_plus_x: FieldElement::from_limbs([
      213454002618221,
      939771523987438,
      1159882208056014,
      317388369627517,
      621213314200687,
    ]),
    y_minus_x: FieldElement::from_limbs([
      1971678598905747,
      338026507889165,
      762398079972271,
      655096486107477,
      42299032696322,
    ]),
    t2d: FieldElement::from_limbs([
      177130678690680,
      1754759263300204,
      1864311296286618,
      1180675631479880,
      1292726903152791,
    ]),
  },
  // 15B
  CachedPoint {
    y_plus_x: FieldElement::from_limbs([
      1913163449625248,
      460779200291993,
      2193883288642314,
      1008900146920800,
      1721983679009502,
    ]),
    y_minus_x: FieldElement::from_limbs([
      1070401523076875,
      1272492007800961,
      1910153608563310,
      2075579521696771,
      1191169788841221,
    ]),
    t2d: FieldElement::from_limbs([
      692896803108118,
      500174642072499,
      2068223309439677,
      1162190621851337,
      1426986007309901,
    ]),
  },
];