c4e_ecc2n.h File Reference

(Version 579)

Elliptic curve cryptography (ECC) over binary field - Fundamentals. More...

#include "c4e_ecgf2n.h"
Include dependency graph for c4e_ecc2n.h:

Go to the source code of this file.

Defines

#define C4E_ECC2N_TMPID_DOM_CHECK
 Temp. space qualifier associated with c4e_ecc2n_domchk().
#define C4E_ECC2N_TMPID_KEY_CHECK
 Temp. space qualifier associated with c4e_ecc2n_keychk_pub().
#define C4E_ECC2N_TMPID_PT2OS
 Temp. space qualifier associated with c4e_ecc2n_pt2os().
#define C4E_ECC2N_TMPID_OS2PT
 Temp. space qualifier associated with c4e_ecc2n_os2pt().
#define C4E_ECC2N_TMPID_MAX
 Temp. space qualifier applicable to all ECC functions over binary field $ \mathbb{F}_{2^n} $ in this file.
#define C4E_ECC2N_TMP_NUM(tmpid, keylen)
 Calculates the number of temp. space elements of type C4eArchDigit for algorithms based on elliptic curves over binary field.
Binary Field ECC Algorithm Identifiers

Algorithm identifiers for ECC over binary field $ \mathbb{F}_{2^n} $, to be used as parameter to c4e_ecc2n_domchk().



#define C4E_ECC2N_ALGO_NONE
 "unspecific" algorithm identifier.
#define C4E_ECC2N_ALGO_DH
 ECDH algorithm identifier.
#define C4E_ECC2N_ALGO_DSA
 ECDSA algorithm identifier.
#define C4E_ECC2N_ALGO_ALL
 "all" algorithm identifier.

Functions

C4eSysStatus c4e_ecc2n_domchk (C4eArchUint algos, C4E_CONST C4eEcDomain *dom, C4eArchDigit *C4E_RESTRICT tmp)
 A simple (and fast) domain parameter validity test for elliptic curves over binary field $ \mathbb{F}_{2^n} $.
C4eSysStatus c4e_ecc2n_keychk_prv (C4eArchUint algos, C4E_CONST C4eEcDomain *C4E_RESTRICT dom, C4E_CONST C4eElement *C4E_RESTRICT d, C4eArchDigit tmp[C4E_RESTRICT])
 Elliptic curve (EC) over binary field $ \mathbb{F}_{2^n} $ private key validity test.
C4eSysStatus c4e_ecc2n_keychk_pub (C4eArchUint algos, C4E_CONST C4eEcDomain *C4E_RESTRICT dom, C4E_CONST C4eEcPoint *C4E_RESTRICT q, C4eArchDigit tmp[C4E_RESTRICT])
 Elliptic curve (EC) over binary field $ \mathbb{F}_{2^n} $ public key validity test.
C4eArchSize c4e_ecc2n_pt2os (C4E_CONST C4eEcDomain *C4E_RESTRICT dom, C4E_CONST C4eEcPoint *C4E_RESTRICT pt, C4eArchUint ptfmt, C4eArchDigit tmp[C4E_RESTRICT], C4eArchSize bufsize, C4eArchUint8 *C4E_RESTRICT buf)
 Elliptic curve point to octet string conversion primitive, according to ANSI X9.63, section 4.3.6 and 4.2.2 and IEEE Std 1363, section A.9.6 and annex E.2.3.
C4eSysStatus c4e_ecc2n_os2pt (C4E_CONST C4eEcDomain *C4E_RESTRICT dom, C4E_CONST C4eArchUint8 *C4E_RESTRICT osp, C4eArchSize len, C4eArchDigit tmp[C4E_RESTRICT], C4eEcPoint *C4E_RESTRICT pt)
 Octet string to elliptic curve point conversion primitive, according to ANSI X9.63, section 4.3.7 and 4.2.2 and IEEE Std 1363, section A.9.6 and annex E.2.3.
C4eArchDigitc4e_ecc2n_asgn (C4eArchIdx size, C4eArchDigit *C4E_RESTRICT digits, C4eArchUint num, C4eEcPoint pt[C4E_RESTRICT])
 Assign digits space to an array of EC points.

Detailed Description

Elliptic curve cryptography (ECC) over binary field - Fundamentals.

Author:
Copyright (C) 2014, 2015 Ralf Hoppe <ralf.hoppe@ieee.org>
Version:
Id
c4e_ecc2n.h 579 2015-05-24 18:00:40Z ralf

Definition in file c4e_ecc2n.h.


Function Documentation

C4eArchDigit* c4e_ecc2n_asgn ( C4eArchIdx  size,
C4eArchDigit *C4E_RESTRICT  digits,
C4eArchUint  num,
C4eEcPoint  pt[C4E_RESTRICT] 
)

Assign digits space to an array of EC points.

Parameters:
[in] size The number of digits to assign to each coordinate of EC point.
[in] digits Pointer to memory pool.
[in] num Number of EC points in array pt.
[out] pt Array of EC points which must have memory assigned.
Returns:
Pointer after the end of assigned memory from digits.
See also:
C4eEcPoint, C4E_ELEM_ASGN_MEM()