mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 11:32:46 +01:00
Revert "build: stop tracking cmake dependency relic_conf.h.in"
This reverts commit a82d0efcd0
.
This commit is contained in:
parent
d97ec350f0
commit
0b3ab8d5e9
717
src/dashbls/depends/relic/include/relic_conf.h.in
Normal file
717
src/dashbls/depends/relic/include/relic_conf.h.in
Normal file
@ -0,0 +1,717 @@
|
||||
/*
|
||||
* RELIC is an Efficient LIbrary for Cryptography
|
||||
* Copyright (c) 2009 RELIC Authors
|
||||
*
|
||||
* This file is part of RELIC. RELIC is legal property of its developers,
|
||||
* whose names are not listed here. Please refer to the COPYRIGHT file
|
||||
* for contact information.
|
||||
*
|
||||
* RELIC is free software; you can redistribute it and/or modify it under the
|
||||
* terms of the version 2.1 (or later) of the GNU Lesser General Public License
|
||||
* as published by the Free Software Foundation; or version 2.0 of the Apache
|
||||
* License as published by the Apache Software Foundation. See the LICENSE files
|
||||
* for more details.
|
||||
*
|
||||
* RELIC is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
||||
* A PARTICULAR PURPOSE. See the LICENSE files for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public or the
|
||||
* Apache License along with RELIC. If not, see <https://www.gnu.org/licenses/>
|
||||
* or <https://www.apache.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* Project configuration.
|
||||
*
|
||||
* @version $Id: relic_conf.h.in 45 2009-07-04 23:45:48Z dfaranha $
|
||||
* @ingroup relic
|
||||
*/
|
||||
|
||||
#ifndef RLC_CONF_H
|
||||
#define RLC_CONF_H
|
||||
|
||||
/** Project version. */
|
||||
#define RLC_VERSION "@VERSION@"
|
||||
|
||||
/** Debugging support. */
|
||||
#cmakedefine DEBUG
|
||||
/** Profiling support. */
|
||||
#cmakedefine PROFL
|
||||
/** Error handling support. */
|
||||
#cmakedefine CHECK
|
||||
/** Verbose error messages. */
|
||||
#cmakedefine VERBS
|
||||
/** Build with overhead estimation. */
|
||||
#cmakedefine OVERH
|
||||
/** Build documentation. */
|
||||
#cmakedefine DOCUM
|
||||
/** Build only the selected algorithms. */
|
||||
#cmakedefine STRIP
|
||||
/** Build with printing disabled. */
|
||||
#cmakedefine QUIET
|
||||
/** Build with colored output. */
|
||||
#cmakedefine COLOR
|
||||
/** Build with big-endian support. */
|
||||
#cmakedefine BIGED
|
||||
/** Build shared library. */
|
||||
#cmakedefine SHLIB
|
||||
/** Build static library. */
|
||||
#cmakedefine STLIB
|
||||
|
||||
/** Number of times each test is ran. */
|
||||
#define TESTS @TESTS@
|
||||
/** Number of times each benchmark is ran. */
|
||||
#define BENCH @BENCH@
|
||||
/** Number of available cores. */
|
||||
#define CORES @CORES@
|
||||
|
||||
/** Atmel AVR ATMega128 8-bit architecture. */
|
||||
#define AVR 1
|
||||
/** MSP430 16-bit architecture. */
|
||||
#define MSP 2
|
||||
/** ARM 32-bit architecture. */
|
||||
#define ARM 3
|
||||
/** Intel x86-compatible 32-bit architecture. */
|
||||
#define X86 4
|
||||
/** AMD64-compatible 64-bit architecture. */
|
||||
#define X64 5
|
||||
/** Architecture. */
|
||||
#cmakedefine ARCH @ARCH@
|
||||
|
||||
/** Size of word in this architecture. */
|
||||
#define WSIZE @WSIZE@
|
||||
|
||||
/** Byte boundary to align digit vectors. */
|
||||
#define ALIGN @ALIGN@
|
||||
|
||||
/** Build multiple precision integer module. */
|
||||
#cmakedefine WITH_BN
|
||||
/** Build prime field module. */
|
||||
#cmakedefine WITH_FP
|
||||
/** Build prime field extension module. */
|
||||
#cmakedefine WITH_FPX
|
||||
/** Build binary field module. */
|
||||
#cmakedefine WITH_FB
|
||||
/** Build prime elliptic curve module. */
|
||||
#cmakedefine WITH_EP
|
||||
/** Build prime field extension elliptic curve module. */
|
||||
#cmakedefine WITH_EPX
|
||||
/** Build binary elliptic curve module. */
|
||||
#cmakedefine WITH_EB
|
||||
/** Build elliptic Edwards curve module. */
|
||||
#cmakedefine WITH_ED
|
||||
/** Build elliptic curve cryptography module. */
|
||||
#cmakedefine WITH_EC
|
||||
/** Build pairings over prime curves module. */
|
||||
#cmakedefine WITH_PP
|
||||
/** Build pairing-based cryptography module. */
|
||||
#cmakedefine WITH_PC
|
||||
/** Build block ciphers. */
|
||||
#cmakedefine WITH_BC
|
||||
/** Build hash functions. */
|
||||
#cmakedefine WITH_MD
|
||||
/** Build cryptographic protocols. */
|
||||
#cmakedefine WITH_CP
|
||||
/** Build Multi-party computation primitives. */
|
||||
#cmakedefine WITH_MPC
|
||||
|
||||
/** Easy C-only backend. */
|
||||
#define EASY 1
|
||||
/** GMP backend. */
|
||||
#define GMP 2
|
||||
/** GMP constant-time backend. */
|
||||
#define GMP_SEC 3
|
||||
/** Arithmetic backend. */
|
||||
#define ARITH @ARITH@
|
||||
|
||||
/** Required precision in bits. */
|
||||
#define BN_PRECI @BN_PRECI@
|
||||
/** A multiple precision integer can store w words. */
|
||||
#define SINGLE 0
|
||||
/** A multiple precision integer can store the result of an addition. */
|
||||
#define CARRY 1
|
||||
/** A multiple precision integer can store the result of a multiplication. */
|
||||
#define DOUBLE 2
|
||||
/** Effective size of a multiple precision integer. */
|
||||
#define BN_MAGNI @BN_MAGNI@
|
||||
/** Number of Karatsuba steps. */
|
||||
#define BN_KARAT @BN_KARAT@
|
||||
|
||||
/** Schoolbook multiplication. */
|
||||
#define BASIC 1
|
||||
/** Comba multiplication. */
|
||||
#define COMBA 2
|
||||
/** Chosen multiple precision multiplication method. */
|
||||
#define BN_MUL @BN_MUL@
|
||||
|
||||
/** Schoolbook squaring. */
|
||||
#define BASIC 1
|
||||
/** Comba squaring. */
|
||||
#define COMBA 2
|
||||
/** Reuse multiplication for squaring. */
|
||||
#define MULTP 4
|
||||
/** Chosen multiple precision multiplication method. */
|
||||
#define BN_SQR @BN_SQR@
|
||||
|
||||
/** Division modular reduction. */
|
||||
#define BASIC 1
|
||||
/** Barrett modular reduction. */
|
||||
#define BARRT 2
|
||||
/** Montgomery modular reduction. */
|
||||
#define MONTY 3
|
||||
/** Pseudo-Mersenne modular reduction. */
|
||||
#define PMERS 4
|
||||
/** Chosen multiple precision modular reduction method. */
|
||||
#define BN_MOD @BN_MOD@
|
||||
|
||||
/** Binary modular exponentiation. */
|
||||
#define BASIC 1
|
||||
/** Sliding window modular exponentiation. */
|
||||
#define SLIDE 2
|
||||
/** Montgomery powering ladder. */
|
||||
#define MONTY 3
|
||||
/** Chosen multiple precision modular exponentiation method. */
|
||||
#define BN_MXP @BN_MXP@
|
||||
|
||||
/** Basic Euclidean GCD Algorithm. */
|
||||
#define BASIC 1
|
||||
/** Lehmer's fast GCD Algorithm. */
|
||||
#define LEHME 2
|
||||
/** Stein's binary GCD Algorithm. */
|
||||
#define STEIN 3
|
||||
/** Chosen multiple precision greatest common divisor method. */
|
||||
#define BN_GCD @BN_GCD@
|
||||
|
||||
/** Basic prime generation. */
|
||||
#define BASIC 1
|
||||
/** Safe prime generation. */
|
||||
#define SAFEP 2
|
||||
/** Strong prime generation. */
|
||||
#define STRON 3
|
||||
/** Chosen prime generation algorithm. */
|
||||
#define BN_GEN @BN_GEN@
|
||||
|
||||
/** Multiple precision arithmetic method */
|
||||
#define BN_METHD "@BN_METHD@"
|
||||
|
||||
/** Prime field size in bits. */
|
||||
#define FP_PRIME @FP_PRIME@
|
||||
/** Number of Karatsuba steps. */
|
||||
#define FP_KARAT @FP_KARAT@
|
||||
/** Prefer Pseudo-Mersenne primes over random primes. */
|
||||
#cmakedefine FP_PMERS
|
||||
/** Use -1 as quadratic non-residue. */
|
||||
#cmakedefine FP_QNRES
|
||||
/** Width of window processing for exponentiation methods. */
|
||||
#define FP_WIDTH @FP_WIDTH@
|
||||
|
||||
/** Schoolbook addition. */
|
||||
#define BASIC 1
|
||||
/** Integrated modular addtion. */
|
||||
#define INTEG 3
|
||||
/** Chosen prime field multiplication method. */
|
||||
#define FP_ADD @FP_ADD@
|
||||
|
||||
/** Schoolbook multiplication. */
|
||||
#define BASIC 1
|
||||
/** Comba multiplication. */
|
||||
#define COMBA 2
|
||||
/** Integrated modular multiplication. */
|
||||
#define INTEG 3
|
||||
/** Chosen prime field multiplication method. */
|
||||
#define FP_MUL @FP_MUL@
|
||||
|
||||
/** Schoolbook squaring. */
|
||||
#define BASIC 1
|
||||
/** Comba squaring. */
|
||||
#define COMBA 2
|
||||
/** Integrated modular squaring. */
|
||||
#define INTEG 3
|
||||
/** Reuse multiplication for squaring. */
|
||||
#define MULTP 4
|
||||
/** Chosen prime field multiplication method. */
|
||||
#define FP_SQR @FP_SQR@
|
||||
|
||||
/** Division-based reduction. */
|
||||
#define BASIC 1
|
||||
/** Fast reduction modulo special form prime. */
|
||||
#define QUICK 2
|
||||
/** Montgomery modular reduction. */
|
||||
#define MONTY 3
|
||||
/** Chosen prime field reduction method. */
|
||||
#define FP_RDC @FP_RDC@
|
||||
|
||||
/** Inversion by Fermat's Little Theorem. */
|
||||
#define BASIC 1
|
||||
/** Binary inversion. */
|
||||
#define BINAR 2
|
||||
/** Integrated modular multiplication. */
|
||||
#define MONTY 3
|
||||
/** Extended Euclidean algorithm. */
|
||||
#define EXGCD 4
|
||||
/** Constant-time inversion by Bernstein-Yang division steps. */
|
||||
#define DIVST 5
|
||||
/** Use implementation provided by the lower layer. */
|
||||
#define LOWER 8
|
||||
/** Chosen prime field inversion method. */
|
||||
#define FP_INV @FP_INV@
|
||||
|
||||
/** Binary modular exponentiation. */
|
||||
#define BASIC 1
|
||||
/** Sliding window modular exponentiation. */
|
||||
#define SLIDE 2
|
||||
/** Constant-time Montgomery powering ladder. */
|
||||
#define MONTY 3
|
||||
/** Chosen multiple precision modular exponentiation method. */
|
||||
#define FP_EXP @FP_EXP@
|
||||
|
||||
/** Prime field arithmetic method */
|
||||
#define FP_METHD "@FP_METHD@"
|
||||
|
||||
/** Basic quadratic extension field arithmetic. */
|
||||
#define BASIC 1
|
||||
/** Integrated extension field arithmetic. */
|
||||
#define INTEG 3
|
||||
/* Chosen extension field arithmetic method. */
|
||||
#define FPX_QDR @FPX_QDR@
|
||||
|
||||
/** Basic cubic extension field arithmetic. */
|
||||
#define BASIC 1
|
||||
/** Integrated extension field arithmetic. */
|
||||
#define INTEG 3
|
||||
/* Chosen extension field arithmetic method. */
|
||||
#define FPX_CBC @FPX_CBC@
|
||||
|
||||
/** Basic quadratic extension field arithmetic. */
|
||||
#define BASIC 1
|
||||
/** Lazy-reduced extension field arithmetic. */
|
||||
#define LAZYR 2
|
||||
/* Chosen extension field arithmetic method. */
|
||||
#define FPX_RDC @FPX_RDC@
|
||||
|
||||
/** Prime extension field arithmetic method */
|
||||
#define FPX_METHD "@FPX_METHD@"
|
||||
|
||||
/** Irreducible polynomial size in bits. */
|
||||
#define FB_POLYN @FB_POLYN@
|
||||
/** Number of Karatsuba steps. */
|
||||
#define FB_KARAT @FB_KARAT@
|
||||
/** Prefer trinomials over pentanomials. */
|
||||
#cmakedefine FB_TRINO
|
||||
/** Prefer square-root friendly polynomials. */
|
||||
#cmakedefine FB_SQRTF
|
||||
/** Precompute multiplication table for sqrt(z). */
|
||||
#cmakedefine FB_PRECO
|
||||
/** Width of window processing for exponentiation methods. */
|
||||
#define FB_WIDTH @FB_WIDTH@
|
||||
|
||||
/** Shift-and-add multiplication. */
|
||||
#define BASIC 1
|
||||
/** Lopez-Dahab multiplication. */
|
||||
#define LODAH 2
|
||||
/** Integrated modular multiplication. */
|
||||
#define INTEG 3
|
||||
/** Chosen binary field multiplication method. */
|
||||
#define FB_MUL @FB_MUL@
|
||||
|
||||
/** Basic squaring. */
|
||||
#define BASIC 1
|
||||
/** Table-based squaring. */
|
||||
#define QUICK 2
|
||||
/** Integrated modular squaring. */
|
||||
#define INTEG 3
|
||||
/** Chosen binary field squaring method. */
|
||||
#define FB_SQR @FB_SQR@
|
||||
|
||||
/** Shift-and-add modular reduction. */
|
||||
#define BASIC 1
|
||||
/** Fast reduction modulo a trinomial or pentanomial. */
|
||||
#define QUICK 2
|
||||
/** Chosen binary field modular reduction method. */
|
||||
#define FB_RDC @FB_RDC@
|
||||
|
||||
/** Square root by repeated squaring. */
|
||||
#define BASIC 1
|
||||
/** Fast square root extraction. */
|
||||
#define QUICK 2
|
||||
/** Chosen binary field modular reduction method. */
|
||||
#define FB_SRT @FB_SRT@
|
||||
|
||||
/** Trace by repeated squaring. */
|
||||
#define BASIC 1
|
||||
/** Fast trace computation. */
|
||||
#define QUICK 2
|
||||
/** Chosen trace computation method. */
|
||||
#define FB_TRC @FB_TRC@
|
||||
|
||||
/** Solve by half-trace computation. */
|
||||
#define BASIC 1
|
||||
/** Solve with precomputed half-traces. */
|
||||
#define QUICK 2
|
||||
/** Chosen method to solve a quadratic equation. */
|
||||
#define FB_SLV @FB_SLV@
|
||||
|
||||
/** Inversion by Fermat's Little Theorem. */
|
||||
#define BASIC 1
|
||||
/** Binary inversion. */
|
||||
#define BINAR 2
|
||||
/** Almost inverse algorithm. */
|
||||
#define ALMOS 3
|
||||
/** Extended Euclidean algorithm. */
|
||||
#define EXGCD 4
|
||||
/** Itoh-Tsuji inversion. */
|
||||
#define ITOHT 5
|
||||
/** Hardware-friendly inversion by Brunner-Curiger-Hofstetter.*/
|
||||
#define BRUCH 6
|
||||
/** Constant-time version of almost inverse. */
|
||||
#define CTAIA 7
|
||||
/** Use implementation provided by the lower layer. */
|
||||
#define LOWER 8
|
||||
/** Chosen binary field inversion method. */
|
||||
#define FB_INV @FB_INV@
|
||||
|
||||
/** Binary modular exponentiation. */
|
||||
#define BASIC 1
|
||||
/** Sliding window modular exponentiation. */
|
||||
#define SLIDE 2
|
||||
/** Constant-time Montgomery powering ladder. */
|
||||
#define MONTY 3
|
||||
/** Chosen multiple precision modular exponentiation method. */
|
||||
#define FB_EXP @FB_EXP@
|
||||
|
||||
/** Iterated squaring/square-root by consecutive squaring/square-root. */
|
||||
#define BASIC 1
|
||||
/** Iterated squaring/square-root by table-based method. */
|
||||
#define QUICK 2
|
||||
/** Chosen method to solve a quadratic equation. */
|
||||
#define FB_ITR @FB_ITR@
|
||||
|
||||
/** Binary field arithmetic method */
|
||||
#define FB_METHD "@FB_METHD@"
|
||||
|
||||
/** Support for ordinary curves. */
|
||||
#cmakedefine EP_PLAIN
|
||||
/** Support for supersingular curves. */
|
||||
#cmakedefine EP_SUPER
|
||||
/** Support for prime curves with efficient endormorphisms. */
|
||||
#cmakedefine EP_ENDOM
|
||||
/** Use mixed coordinates. */
|
||||
#cmakedefine EP_MIXED
|
||||
/** Build precomputation table for generator. */
|
||||
#cmakedefine EP_PRECO
|
||||
/** Enable isogeny map for SSWU map-to-curve. */
|
||||
#cmakedefine EP_CTMAP
|
||||
/** Width of precomputation table for fixed point methods. */
|
||||
#define EP_DEPTH @EP_DEPTH@
|
||||
/** Width of window processing for unknown point methods. */
|
||||
#define EP_WIDTH @EP_WIDTH@
|
||||
|
||||
/** Affine coordinates. */
|
||||
#define BASIC 1
|
||||
/** Projective coordinates. */
|
||||
#define PROJC 2
|
||||
/** Jacobian coordinates. */
|
||||
#define JACOB 3
|
||||
/** Chosen prime elliptic curve coordinate method. */
|
||||
#define EP_ADD @EP_ADD@
|
||||
|
||||
/** Binary point multiplication. */
|
||||
#define BASIC 1
|
||||
/** Sliding window. */
|
||||
#define SLIDE 2
|
||||
/** Montgomery powering ladder. */
|
||||
#define MONTY 3
|
||||
/** Left-to-right Width-w NAF. */
|
||||
#define LWNAF 4
|
||||
/** Left-to-right Width-w NAF. */
|
||||
#define LWREG 5
|
||||
/** Chosen prime elliptic curve point multiplication method. */
|
||||
#define EP_MUL @EP_MUL@
|
||||
|
||||
/** Binary point multiplication. */
|
||||
#define BASIC 1
|
||||
/** Single-table comb method. */
|
||||
#define COMBS 2
|
||||
/** Double-table comb method. */
|
||||
#define COMBD 3
|
||||
/** Left-to-right Width-w NAF. */
|
||||
#define LWNAF 4
|
||||
/** Chosen prime elliptic curve point multiplication method. */
|
||||
#define EP_FIX @EP_FIX@
|
||||
|
||||
/** Basic simultaneouns point multiplication. */
|
||||
#define BASIC 1
|
||||
/** Shamir's trick. */
|
||||
#define TRICK 2
|
||||
/** Interleaving of w-(T)NAFs. */
|
||||
#define INTER 3
|
||||
/** Joint sparse form. */
|
||||
#define JOINT 4
|
||||
/** Chosen prime elliptic curve simulteanous point multiplication method. */
|
||||
#define EP_SIM @EP_SIM@
|
||||
|
||||
/** Prime elliptic curve arithmetic method. */
|
||||
#define EP_METHD "@EP_METHD@"
|
||||
|
||||
/** Support for ordinary curves without endormorphisms. */
|
||||
#cmakedefine EB_PLAIN
|
||||
/** Support for Koblitz anomalous binary curves. */
|
||||
#cmakedefine EB_KBLTZ
|
||||
/** Use mixed coordinates. */
|
||||
#cmakedefine EB_MIXED
|
||||
/** Build precomputation table for generator. */
|
||||
#cmakedefine EB_PRECO
|
||||
/** Width of precomputation table for fixed point methods. */
|
||||
#define EB_DEPTH @EB_DEPTH@
|
||||
/** Width of window processing for unknown point methods. */
|
||||
#define EB_WIDTH @EB_WIDTH@
|
||||
|
||||
/** Binary elliptic curve arithmetic method. */
|
||||
#define EB_METHD "@EB_METHD@"
|
||||
|
||||
/** Affine coordinates. */
|
||||
#define BASIC 1
|
||||
/** López-Dahab Projective coordinates. */
|
||||
#define PROJC 2
|
||||
/** Chosen binary elliptic curve coordinate method. */
|
||||
#define EB_ADD @EB_ADD@
|
||||
|
||||
/** Binary point multiplication. */
|
||||
#define BASIC 1
|
||||
/** L<>pez-Dahab point multiplication. */
|
||||
#define LODAH 2
|
||||
/** Halving. */
|
||||
#define HALVE 3
|
||||
/** Left-to-right width-w (T)NAF. */
|
||||
#define LWNAF 4
|
||||
/** Right-to-left width-w (T)NAF. */
|
||||
#define RWNAF 5
|
||||
/** Chosen binary elliptic curve point multiplication method. */
|
||||
#define EB_MUL @EB_MUL@
|
||||
|
||||
/** Binary point multiplication. */
|
||||
#define BASIC 1
|
||||
/** Single-table comb method. */
|
||||
#define COMBS 2
|
||||
/** Double-table comb method. */
|
||||
#define COMBD 3
|
||||
/** Left-to-right Width-w NAF. */
|
||||
#define LWNAF 4
|
||||
/** Chosen binary elliptic curve point multiplication method. */
|
||||
#define EB_FIX @EB_FIX@
|
||||
|
||||
/** Basic simultaneouns point multiplication. */
|
||||
#define BASIC 1
|
||||
/** Shamir's trick. */
|
||||
#define TRICK 2
|
||||
/** Interleaving of w-(T)NAFs. */
|
||||
#define INTER 3
|
||||
/** Joint sparse form. */
|
||||
#define JOINT 4
|
||||
/** Chosen binary elliptic curve simulteanous point multiplication method. */
|
||||
#define EB_SIM @EB_SIM@
|
||||
|
||||
/** Build precomputation table for generator. */
|
||||
#cmakedefine ED_PRECO
|
||||
/** Width of precomputation table for fixed point methods. */
|
||||
#define ED_DEPTH @ED_DEPTH@
|
||||
/** Width of window processing for unknown point methods. */
|
||||
#define ED_WIDTH @ED_WIDTH@
|
||||
|
||||
/** Edwards elliptic curve arithmetic method. */
|
||||
#define ED_METHD "@ED_METHD@"
|
||||
|
||||
/** Affine coordinates. */
|
||||
#define BASIC 1
|
||||
/** Simple projective twisted Edwards coordinates */
|
||||
#define PROJC 2
|
||||
/** Extended projective twisted Edwards coordinates */
|
||||
#define EXTND 3
|
||||
/** Chosen binary elliptic curve coordinate method. */
|
||||
#define ED_ADD @ED_ADD@
|
||||
|
||||
/** Binary point multiplication. */
|
||||
#define BASIC 1
|
||||
/** Sliding window. */
|
||||
#define SLIDE 2
|
||||
/** Montgomery powering ladder. */
|
||||
#define MONTY 3
|
||||
/** Left-to-right Width-w NAF. */
|
||||
#define LWNAF 4
|
||||
/** Left-to-right Width-w NAF. */
|
||||
#define LWREG 5
|
||||
/** Chosen prime elliptic twisted Edwards curve point multiplication method. */
|
||||
#define ED_MUL @ED_MUL@
|
||||
|
||||
/** Binary point multiplication. */
|
||||
#define BASIC 1
|
||||
/** Single-table comb method. */
|
||||
#define COMBS 2
|
||||
/** Double-table comb method. */
|
||||
#define COMBD 3
|
||||
/** Left-to-right Width-w NAF. */
|
||||
#define LWNAF 4
|
||||
/** Chosen prime elliptic twisted Edwards curve point multiplication method. */
|
||||
#define ED_FIX @ED_FIX@
|
||||
|
||||
/** Basic simultaneouns point multiplication. */
|
||||
#define BASIC 1
|
||||
/** Shamir's trick. */
|
||||
#define TRICK 2
|
||||
/** Interleaving of w-(T)NAFs. */
|
||||
#define INTER 3
|
||||
/** Joint sparse form. */
|
||||
#define JOINT 4
|
||||
/** Chosen prime elliptic curve simulteanous point multiplication method. */
|
||||
#define ED_SIM @ED_SIM@
|
||||
|
||||
/** Prime curves. */
|
||||
#define PRIME 1
|
||||
/** Binary curves. */
|
||||
#define CHAR2 2
|
||||
/** Edwards curves */
|
||||
#define EDDIE 3
|
||||
/** Chosen elliptic curve type. */
|
||||
#define EC_CUR @EC_CUR@
|
||||
|
||||
/** Chosen elliptic curve cryptography method. */
|
||||
#define EC_METHD "@EC_METHD@"
|
||||
/** Prefer curves with efficient endomorphisms. */
|
||||
#cmakedefine EC_ENDOM
|
||||
|
||||
/** Basic quadratic extension field arithmetic. */
|
||||
#define BASIC 1
|
||||
/** Lazy-reduced extension field arithmetic. */
|
||||
#define LAZYR 2
|
||||
/* Chosen extension field arithmetic method. */
|
||||
#define PP_EXT @PP_EXT@
|
||||
|
||||
/** Bilinear pairing method. */
|
||||
#define PP_METHD "@PP_METHD@"
|
||||
|
||||
/** Tate pairing. */
|
||||
#define TATEP 1
|
||||
/** Weil pairing. */
|
||||
#define WEILP 2
|
||||
/** Optimal ate pairing. */
|
||||
#define OATEP 3
|
||||
/** Chosen pairing method over prime elliptic curves. */
|
||||
#define PP_MAP @PP_MAP@
|
||||
|
||||
/** SHA-224 hash function. */
|
||||
#define SH224 2
|
||||
/** SHA-256 hash function. */
|
||||
#define SH256 3
|
||||
/** SHA-384 hash function. */
|
||||
#define SH384 4
|
||||
/** SHA-512 hash function. */
|
||||
#define SH512 5
|
||||
/** BLAKE2s-160 hash function. */
|
||||
#define B2S160 6
|
||||
/** BLAKE2s-256 hash function. */
|
||||
#define B2S256 7
|
||||
/** Chosen hash function. */
|
||||
#define MD_MAP @MD_MAP@
|
||||
|
||||
/** Choice of hash function. */
|
||||
#define MD_METHD "@MD_METHD@"
|
||||
|
||||
/** Chosen RSA method. */
|
||||
#cmakedefine CP_CRT
|
||||
/** RSA without padding. */
|
||||
#define BASIC 1
|
||||
/** RSA PKCS#1 v1.5 padding. */
|
||||
#define PKCS1 2
|
||||
/** RSA PKCS#1 v2.1 padding. */
|
||||
#define PKCS2 3
|
||||
/** Chosen RSA padding method. */
|
||||
#define CP_RSAPD @CP_RSAPD@
|
||||
|
||||
/** Automatic memory allocation. */
|
||||
#define AUTO 1
|
||||
/** Dynamic memory allocation. */
|
||||
#define DYNAMIC 2
|
||||
/** Chosen memory allocation policy. */
|
||||
#define ALLOC @ALLOC@
|
||||
|
||||
/** NIST HASH-DRBG generator. */
|
||||
#define HASHD 1
|
||||
/** Intel RdRand instruction. */
|
||||
#define RDRND 2
|
||||
/** Operating system underlying generator. */
|
||||
#define UDEV 3
|
||||
/** Override library generator with the callback. */
|
||||
#define CALL 4
|
||||
/** Chosen random generator. */
|
||||
#define RAND @RAND@
|
||||
|
||||
/** Standard C library generator. */
|
||||
#define LIBC 1
|
||||
/** Intel RdRand instruction. */
|
||||
#define RDRND 2
|
||||
/** Device node generator. */
|
||||
#define UDEV 3
|
||||
/** Use Windows' CryptGenRandom. */
|
||||
#define WCGR 4
|
||||
/** Chosen random generator seeder. */
|
||||
#cmakedefine SEED @SEED@
|
||||
|
||||
/** GNU/Linux operating system. */
|
||||
#define LINUX 1
|
||||
/** FreeBSD operating system. */
|
||||
#define FREEBSD 2
|
||||
/** Windows operating system. */
|
||||
#define MACOSX 3
|
||||
/** Windows operating system. */
|
||||
#define WINDOWS 4
|
||||
/** Android operating system. */
|
||||
#define DROID 5
|
||||
/** Arduino platform. */
|
||||
#define DUINO 6
|
||||
/** OpenBSD operating system. */
|
||||
#define OPENBSD 7
|
||||
/** Detected operation system. */
|
||||
#cmakedefine OPSYS @OPSYS@
|
||||
|
||||
/** OpenMP multithreading support. */
|
||||
#define OPENMP 1
|
||||
/** POSIX multithreading support. */
|
||||
#define PTHREAD 2
|
||||
/** Chosen multithreading API. */
|
||||
#cmakedefine MULTI @MULTI@
|
||||
|
||||
/** Per-process high-resolution timer. */
|
||||
#define HREAL 1
|
||||
/** Per-process high-resolution timer. */
|
||||
#define HPROC 2
|
||||
/** Per-thread high-resolution timer. */
|
||||
#define HTHRD 3
|
||||
/** POSIX-compatible timer. */
|
||||
#define POSIX 4
|
||||
/** ANSI-compatible timer. */
|
||||
#define ANSI 5
|
||||
/** Cycle-counting timer. */
|
||||
#define CYCLE 6
|
||||
/** Performance monitoring framework. */
|
||||
#define PERF 7
|
||||
/** Chosen timer. */
|
||||
#cmakedefine TIMER @TIMER@
|
||||
|
||||
/** Prefix to identity this build of the library. */
|
||||
#cmakedefine LABEL @LABEL@
|
||||
|
||||
#ifndef ASM
|
||||
|
||||
#include "relic_label.h"
|
||||
|
||||
/**
|
||||
* Prints the project options selected at build time.
|
||||
*/
|
||||
void conf_print(void);
|
||||
|
||||
#endif /* ASM */
|
||||
|
||||
#endif /* !RLC_CONF_H */
|
Loading…
Reference in New Issue
Block a user