SYMBOL INDEX (250 symbols across 17 files) FILE: src/_crystals.ts type XOF (line 19) | type XOF = ( type CrystalOpts (line 45) | type CrystalOpts = { type TypedCons (line 69) | type TypedCons = (n: number) => T; type Crystals (line 71) | type Crystals = { function getZettas (line 121) | function getZettas() { constant XOF128 (line 263) | const XOF128: TRet = /* @__PURE__ */ createXofShake(shake128); constant XOF256 (line 280) | const XOF256: TRet = /* @__PURE__ */ createXofShake(shake256); FILE: src/falcon.ts method encode (line 159) | encode(value: TArg): TRet { method decode (line 167) | decode(data: TArg): TRet { method encode (line 182) | encode(data: TArg): TRet { method decode (line 224) | decode(data: TArg): TRet { method encode (line 274) | encode(data: TArg) { method decode (line 279) | decode(data: TArg) { type ComplexElm (line 286) | type ComplexElm = { re: T; im: T }; function getComplex (line 298) | function getComplex(field: IField) { method decode (line 347) | decode(lst: number[]): ComplexElm[] { method encode (line 360) | encode(lst: ComplexElm[]): number[] { method decode (line 375) | decode(lst: ArrayLike): ComplexElm[] { method encode (line 387) | encode(lst: ComplexElm[]): number[] { method encode (line 413) | encode(n: number): string { method decode (line 419) | decode(s: string): number { type SignatureRaw (line 429) | type SignatureRaw = { msg: Uint8Array; nonce: Uint8Array; s2: Uint8Array }; type BPoly (line 430) | type BPoly = bigint[]; type FPoly (line 431) | type FPoly = Float64Array; type SPoly (line 432) | type SPoly = Int8Array; type IPoly (line 433) | type IPoly = Uint16Array; constant EMPTY_CHACHA20_BLOCK (line 436) | const EMPTY_CHACHA20_BLOCK = /** @__PURE__ */ new Uint8Array(64); constant NONCELEN (line 439) | const NONCELEN = 40; constant Q0I (line 451) | const Q0I = 12287; constant F_INV_Q (line 452) | const F_INV_Q = 1.0 / Q; constant F_MINUS_INV_Q (line 453) | const F_MINUS_INV_Q = -F_INV_Q; constant MAX_BL_SMALL (line 457) | const MAX_BL_SMALL = [1, 1, 2, 2, 4, 7, 14, 27, 53, 106, 209]; constant MAX_BL_LARGE (line 461) | const MAX_BL_LARGE = [2, 2, 5, 7, 12, 21, 40, 78, 157, 308]; constant BNORM_MAX (line 463) | const BNORM_MAX = f64b(BigInt('4670353323383631276')); constant BITLENGTH (line 465) | const BITLENGTH = [ constant INV_SIGMA (line 514) | const INV_SIGMA = /* @__PURE__ */ Object.freeze([ constant SIGMA_MIN (line 531) | const SIGMA_MIN = /* @__PURE__ */ Object.freeze([ constant GAUSS0 (line 548) | const GAUSS0 = new Uint32Array([ constant L2BOUND (line 558) | const L2BOUND = [ constant COMPLEX_ROOTS (line 578) | const COMPLEX_ROOTS = /** @__PURE__ */ (() => { method mul (line 973) | mul(x: number, y: number) { method inv (line 980) | inv(y: number): number { function getIntPoly (line 1007) | function getIntPoly(logn: number) { constant COMPLEX_ROOTS_O (line 1097) | const COMPLEX_ROOTS_O = ComplexArrInterleaved.decode(COMPLEX_ROOTS); type CPoly (line 1120) | type CPoly = ComplexElm[]; function getFloatPoly (line 1124) | function getFloatPoly(logn: number) { function ApproxExp (line 1156) | function ApproxExp(x: number, ccs: number): number { type FalconOpts (line 1185) | type FalconOpts = { type FalconRandom (line 1203) | type FalconRandom = (bytesLength?: number) => TRet; type FalconSigOpts (line 1204) | type FalconSigOpts = SigOpts & { random?: FalconRandom }; type FalconAttached (line 1206) | type FalconAttached = CryptoKeys & { type Falcon (line 1227) | type Falcon = Signer & { function genFalcon (line 1232) | function genFalcon(opts: FalconOpts): TRet { FILE: src/hybrid.ts type CurveAll (line 108) | type CurveAll = ECDSA | EdDSA | MontgomeryECDH; type CurveECDH (line 109) | type CurveECDH = ECDSA | MontgomeryECDH; type CurveSign (line 110) | type CurveSign = ECDSA | EdDSA; function ecKeygen (line 113) | function ecKeygen(curve: CurveAll, allowZeroKey: boolean = false) { function ecdhKem (line 177) | function ecdhKem(curve: CurveECDH, allowZeroKey: boolean = false): TRet<... function ecSigner (line 232) | function ecSigner(curve: CurveSign, allowZeroKey: boolean = false): TRet... function splitLengths (line 265) | function splitLengths, len: number) => TRet; function expandSeedXof (line 298) | function expandSeedXof(xof: TArg): TRet { type Combiner (line 306) | type Combiner = ( function combineKeys (line 312) | function combineKeys( function combineKEMS (line 412) | function combineKEMS( function combineSigners (line 497) | function combineSigners( function QSF (line 577) | function QSF( function createKitchenSink (line 642) | function createKitchenSink( function nistCurveKem (line 714) | function nistCurveKem(curve: ECDSA, scalarLen: number, elemLen: number, ... function concreteHybridKem (line 781) | function concreteHybridKem( constant MLKEM768X25519 (line 822) | const MLKEM768X25519: TRet = /* @__PURE__ */ (() => ml_kem768_x2551... constant MLKEM768P256 (line 824) | const MLKEM768P256: TRet = /* @__PURE__ */ (() => ml_kem768_p256)(); constant MLKEM1024P384 (line 826) | const MLKEM1024P384: TRet = /* @__PURE__ */ (() => ml_kem1024_p384)(); constant QSFMLKEM768P256 (line 828) | const QSFMLKEM768P256: TRet = /* @__PURE__ */ (() => QSF_ml_kem768_... constant QSFMLKEM1024P384 (line 830) | const QSFMLKEM1024P384: TRet = /* @__PURE__ */ (() => QSF_ml_kem102... FILE: src/ml-dsa.ts type DSAInternalOpts (line 38) | type DSAInternalOpts = { function validateInternalOpts (line 46) | function validateInternalOpts(opts: TArg) { type DSAInternal (line 52) | type DSAInternal = CryptoKeys & { type DSA (line 67) | type DSA = Signer & { internal: TRet }; constant ROOT_OF_UNITY (line 75) | const ROOT_OF_UNITY = 1753; constant GAMMA2_1 (line 83) | const GAMMA2_1 = Math.floor((Q - 1) / 88) | 0; constant GAMMA2_2 (line 84) | const GAMMA2_2 = Math.floor((Q - 1) / 32) | 0; type XofGet (line 86) | type XofGet = ReturnType['get']>; type DSAParam (line 90) | type DSAParam = { constant PARAMS (line 115) | const PARAMS: Record = /* @__PURE__ */ (() => type Poly (line 129) | type Poly = Int32Array; type IdNum (line 145) | type IdNum = (n: number) => number; function RejNTTPoly (line 199) | function RejNTTPoly(xof_: TArg): TRet { type DilithiumOpts (line 216) | type DilithiumOpts = { function getDilithium (line 234) | function getDilithium(opts_: TArg): TRet { FILE: src/ml-kem.ts constant ROOT_OF_UNITY (line 46) | const ROOT_OF_UNITY = 17; type KEMParam (line 62) | type KEMParam = { constant PARAMS (line 87) | const PARAMS: Record = /* @__PURE__ */ (() => type Poly (line 132) | type Poly = Uint16Array; function polyAdd (line 134) | function polyAdd(a_: TArg, b_: TArg) { function polySub (line 140) | function polySub(a_: TArg, b_: TArg) { function BaseCaseMultiply (line 148) | function BaseCaseMultiply(a0: number, a1: number, b0: number, b1: number... function MultiplyNTTs (line 157) | function MultiplyNTTs(f_: TArg, g_: TArg): TRet { type PRF (line 170) | type PRF = (l: number, key: Uint8Array, nonce: number) => Uint8Array; type XofGet (line 172) | type XofGet = ReturnType['get']>; type KyberOpts (line 174) | type KyberOpts = KEMParam & { function SampleNTT (line 183) | function SampleNTT(xof_: TArg): TRet { function sampleCBD (line 232) | function sampleCBD( function createKyber (line 347) | function createKyber(opts: TArg): TRet { function shakePRF (line 433) | function shakePRF(dkLen: number, key: TArg, nonce: number): ... FILE: src/slh-dsa.ts type SphincsOpts (line 66) | type SphincsOpts = { type SphincsHashOpts (line 84) | type SphincsHashOpts = { constant PARAMS (line 100) | const PARAMS: Record = /* @__PURE__ */ (() => type ADRS (line 124) | type ADRS = Uint8Array; type Context (line 127) | type Context = { type GetContext (line 179) | type GetContext = ( function hexToNumber (line 183) | function hexToNumber(hex: string): bigint { function bytesToNumberBE (line 189) | function bytesToNumberBE(bytes: TArg): bigint { function numberToBytesBE (line 194) | function numberToBytesBE(n: number | bigint, len: number): TRet): TRet<... constant SHAKE_SIMPLE (line 795) | const SHAKE_SIMPLE = /* @__PURE__ */ (() => ({ getContext: genShake() })... type ShaType (line 840) | type ShaType = typeof sha256 | typeof sha512; function mgf1 (line 877) | function mgf1(seed: TArg, length: number, hash: ShaType): TR... constant SHA256_SIMPLE (line 953) | const SHA256_SIMPLE = /* @__PURE__ */ (() => ({ constant SHA512_SIMPLE (line 957) | const SHA512_SIMPLE = /* @__PURE__ */ (() => ({ FILE: src/utils.ts type TypedArg (line 28) | type TypedArg = T extends BigInt64Array type TypedRet (line 52) | type TypedRet = T extends BigInt64Array type TArg (line 76) | type TArg = type TRet (line 98) | type TRet = T extends unknown function equalBytes (line 173) | function equalBytes(a: TArg, b: TArg): boolean { function copyBytes (line 191) | function copyBytes(bytes: TArg): TRet { function byteSwap64 (line 209) | function byteSwap64(arr: T): T { type CryptoKeys (line 244) | type CryptoKeys = { type VerOpts (line 267) | type VerOpts = { type SigOpts (line 272) | type SigOpts = VerOpts & { function validateOpts (line 288) | function validateOpts(opts: object): void { function validateVerOpts (line 306) | function validateVerOpts(opts: TArg): void { function validateSigOpts (line 323) | function validateSigOpts(opts: TArg): void { type Signer (line 330) | type Signer = CryptoKeys & { type KEM (line 365) | type KEM = CryptoKeys & { type Coder (line 391) | interface Coder { type BytesCoder (line 407) | interface BytesCoder extends Coder { type BytesCoderLen (line 423) | type BytesCoderLen = BytesCoder & { bytesLen: number }; type UnCoder (line 426) | type UnCoder = T extends BytesCoder ? U : never; type SplitOut (line 427) | type SplitOut)[]> = { function splitCoder (line 445) | function splitCoder)[]>( function vecCoder (line 500) | function vecCoder(c: TArg>, vecLen: number): TRet = /* @__PURE__ */ Uint8Array.of(); function getMessage (line 579) | function getMessage(msg: TArg, ctx: TArg = EMPTY... function checkHash (line 609) | function checkHash(hash: CHash, requiredStrength: number = 0): void { function getMessagePrehash (line 644) | function getMessagePrehash( FILE: test/acvp.test.ts function sum (line 35) | function sum(array) { function checkStrength (line 39) | function checkStrength(hash) { constant HASHES (line 43) | const HASHES = { FILE: test/benchmark.ts function mlKemOpts (line 11) | function mlKemOpts(lib) { function mlDsaOpts (line 17) | function mlDsaOpts(lib) { function slhDsaOpts (line 25) | function slhDsaOpts(lib) { function falconSeed (line 32) | function falconSeed(label: string) { function falconOpts (line 37) | function falconOpts(lib, name: string) { FILE: test/crucible.ts type Req (line 17) | type Req = { type Res (line 23) | type Res = { constant KEMS (line 29) | const KEMS = { constant DSAS (line 34) | const DSAS = { type DsaInternal (line 39) | type DsaInternal = { constant KEM_BY_PK (line 52) | const KEM_BY_PK = new Map(Object.values(KEMS).map((kem) => [kem.lengths.... constant KEM_BY_SK (line 53) | const KEM_BY_SK = new Map(Object.values(KEMS).map((kem) => [kem.lengths.... constant DSA_BY_PK (line 54) | const DSA_BY_PK = new Map(Object.values(DSAS).map((dsa) => [dsa.lengths.... constant DSA_BY_SK (line 55) | const DSA_BY_SK = new Map(Object.values(DSAS).map((dsa) => [dsa.lengths.... constant DSA_BY_SIG (line 56) | const DSA_BY_SIG = new Map(Object.values(DSAS).map((dsa) => [dsa.lengths... FILE: test/errors.test.ts constant ALGO (line 14) | const ALGO = { function getError (line 30) | function getError(fn) { FILE: test/falcon.test.ts function parseKAT (line 28) | function parseKAT(path) { method one (line 65) | one(name) { method list (line 70) | list(name, src = falconRound3FprH) { function floatBits (line 80) | function floatBits(x) { function floatToOrderedInt (line 85) | function floatToOrderedInt(x) { function epsDiff (line 92) | function epsDiff(a, b) { function bytesDiff (line 97) | function bytesDiff(a, b) { method create (line 110) | create(actual, required, bytes = 2) { method apply (line 120) | apply(original, patch, bytes = 2) { method encode (line 662) | encode(sig) { method decode (line 673) | decode(detached) { FILE: test/hybrid.test.ts constant VECTORS (line 29) | const VECTORS = { method keygen (line 223) | keygen(seed: Uint8Array = Uint8Array.of(1, 1)) { method getPublicKey (line 227) | getPublicKey(_secretKey: Uint8Array) { method sign (line 230) | sign() { method verify (line 233) | verify() { method keygen (line 239) | keygen(_seed: Uint8Array = Uint8Array.of(2, 2)) { method getPublicKey (line 242) | getPublicKey(_secretKey: Uint8Array) { method sign (line 245) | sign() { method verify (line 248) | verify() { method keygen (line 267) | keygen(seed: Uint8Array = Uint8Array.of(1, 2)) { method getPublicKey (line 270) | getPublicKey(_secretKey: Uint8Array) { method sign (line 273) | sign() { method verify (line 276) | verify() { method keygen (line 287) | keygen(seed: Uint8Array = Uint8Array.of(1, 2)) { method getPublicKey (line 290) | getPublicKey(_secretKey: Uint8Array) { method sign (line 293) | sign() { method verify (line 296) | verify() { method keygen (line 329) | keygen(seed: Uint8Array = Uint8Array.of(id, id)) { method getPublicKey (line 332) | getPublicKey(_secretKey: Uint8Array) { method encapsulate (line 335) | encapsulate(_publicKey: Uint8Array, _rand: Uint8Array = Uint8Array.of(0)) { method decapsulate (line 338) | decapsulate(_cipherText: Uint8Array, secretKey: Uint8Array) { method keygen (line 373) | keygen(seed: Uint8Array = Uint8Array.of(1)) { method getPublicKey (line 376) | getPublicKey(_secretKey: Uint8Array) { method encapsulate (line 379) | encapsulate(_publicKey: Uint8Array, _rand: Uint8Array = Uint8Array.of(9)) { method decapsulate (line 384) | decapsulate() { method keygen (line 390) | keygen(seed: Uint8Array = Uint8Array.of(2)) { method getPublicKey (line 393) | getPublicKey(_secretKey: Uint8Array) { method encapsulate (line 396) | encapsulate() { method decapsulate (line 399) | decapsulate() { method keygen (line 421) | keygen(seed: Uint8Array = Uint8Array.of(id)) { method getPublicKey (line 424) | getPublicKey(_secretKey: Uint8Array) { method encapsulate (line 427) | encapsulate(_publicKey: Uint8Array, _rand: Uint8Array = Uint8Array.of(9)) { method decapsulate (line 432) | decapsulate() { method keygen (line 496) | keygen(seed: Uint8Array = Uint8Array.of(9, 9)) { method getPublicKey (line 499) | getPublicKey(_secretKey: Uint8Array) { method getSharedSecret (line 502) | getSharedSecret(secretKey: Uint8Array, _publicKey: Uint8Array) { method keygen (line 518) | keygen(seed: Uint8Array = Uint8Array.of(id, id)) { method getPublicKey (line 521) | getPublicKey(_secretKey: Uint8Array) { method sign (line 524) | sign(_message: Uint8Array, secretKey: Uint8Array) { method verify (line 528) | verify() { FILE: test/util.ts function readGZ (line 7) | function readGZ(path) { function jsonGZ (line 13) | function jsonGZ(path) { function readKAT (line 17) | function readKAT(name, firstField) { FILE: test/vectors/falcon/round3/fpr.c function fpr (line 81) | fpr function fpr (line 139) | fpr function fpr (line 249) | fpr function fpr (line 347) | fpr function fpr (line 436) | fpr function fpr_expm_p63 (line 514) | uint64_t FILE: test/vectors/falcon/round3/fpr.h type fpr (line 107) | typedef uint64_t fpr; function fpr_ursh (line 126) | static inline uint64_t function fpr_irsh (line 139) | static inline int64_t function fpr_ulsh (line 152) | static inline uint64_t function fpr (line 174) | static inline fpr function fpr (line 221) | static inline fpr function fpr_rint (line 272) | static inline int64_t function fpr_floor (line 321) | static inline int64_t function fpr_trunc (line 364) | static inline int64_t function fpr (line 399) | static inline fpr function fpr (line 406) | static inline fpr function fpr (line 413) | static inline fpr function fpr (line 428) | static inline fpr function fpr (line 443) | static inline fpr function fpr (line 452) | static inline fpr function fpr_lt (line 461) | static inline int FILE: test/wycheproof.test.ts constant KEM_LEVELS (line 11) | const KEM_LEVELS = [ constant DSA_LEVELS (line 17) | const DSA_LEVELS = [ function dsaSign (line 23) | function dsaSign(dsa, secretKey, t) {