Mercurial > dropbear
comparison libtomcrypt/src/pk/ecc/ltc_ecc_points.c @ 435:337c45621e81
merge of 'a9b0496634cdd25647b65e585cc3240f3fa699ee'
and 'c22be8b8f570b48e9662dac32c7b3e7148a42206'
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 22 Feb 2007 14:53:49 +0000 |
parents | 0cbe8f6dbf9e |
children | f849a5ca2efc |
comparison
equal
deleted
inserted
replaced
434:0aaaf68e97dc | 435:337c45621e81 |
---|---|
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, [email protected], 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_points.c | |
21 ECC Crypto, Tom St Denis | |
22 */ | |
23 | |
24 #ifdef MECC | |
25 | |
26 /** | |
27 Allocate a new ECC point | |
28 @return A newly allocated point or NULL on error | |
29 */ | |
30 ecc_point *ltc_ecc_new_point(void) | |
31 { | |
32 ecc_point *p; | |
33 p = XCALLOC(1, sizeof(*p)); | |
34 if (p == NULL) { | |
35 return NULL; | |
36 } | |
37 if (mp_init_multi(&p->x, &p->y, &p->z, NULL) != CRYPT_OK) { | |
38 XFREE(p); | |
39 return NULL; | |
40 } | |
41 return p; | |
42 } | |
43 | |
44 /** Free an ECC point from memory | |
45 @param p The point to free | |
46 */ | |
47 void ltc_ecc_del_point(ecc_point *p) | |
48 { | |
49 /* prevents free'ing null arguments */ | |
50 if (p != NULL) { | |
51 mp_clear_multi(p->x, p->y, p->z, NULL); /* note: p->z may be NULL but that's ok with this function anyways */ | |
52 XFREE(p); | |
53 } | |
54 } | |
55 | |
56 #endif | |
57 /* $Source: /cvs/libtom/libtomcrypt/src/pk/ecc/ltc_ecc_points.c,v $ */ | |
58 /* $Revision: 1.5 $ */ | |
59 /* $Date: 2006/12/04 02:19:48 $ */ | |
60 |