1 /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 * 3 * LibTomCrypt is a library that provides various cryptographic 4 * algorithms in a highly modular and flexible manner. 5 * 6 * The library is free for all purposes without any express 7 * guarantee it works. 8 * 9 * Tom St Denis, tomstdenis (at) gmail.com, http://libtomcrypt.com 10 */ 11 12 /* Implements ECC over Z/pZ for curve y^2 = x^3 - 3x + b 13 * 14 * All curves taken from NIST recommendation paper of July 1999 15 * Available at http://csrc.nist.gov/cryptval/dss.htm 16 */ 17 #include "tomcrypt.h" 18 19 /** 20 @file ltc_ecc_is_valid_idx.c 21 ECC Crypto, Tom St Denis 22 */ 23 24 #ifdef MECC 25 26 /** Returns whether an ECC idx is valid or not 27 @param n The idx number to check 28 @return 1 if valid, 0 if not 29 */ 30 int ltc_ecc_is_valid_idx(int n) 31 { 32 int x; 33 34 for (x = 0; ltc_ecc_sets[x].size != 0; x++); 35 /* -1 is a valid index --- indicating that the domain params were supplied by the user */ 36 if ((n >= -1) || (n < x)) { 37 return 1; 38 } 39 return 0; 40 } 41 42 #endif 43 /* $Source: /cvs/libtom/libtomcrypt/src/pk/ecc/ltc_ecc_is_valid_idx.c,v $ */ 44 /* $Revision: 1.4 $ */ 45 /* $Date: 2006/11/21 00:10:18 $ */ 46 47