mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 20:12:57 +01:00
revert: revert 'stop tracking cmake dependency relic_conf.h.in'
This reverts commit 7d03389345
.
This commit is contained in:
parent
964e3aaf36
commit
c70f440f66
@ -1,717 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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