• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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@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 */
ltc_ecc_is_valid_idx(int n)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