1#ifndef _IPXE_ELLIPTIC_H
2#define _IPXE_ELLIPTIC_H
17#define elliptic_uncompressed_t( len ) \
24 } __attribute__ (( packed )); \
25 uint8_t xy[ (len) * 2 ]; \
27 } __attribute__ (( packed ))
30#define ELLIPTIC_FORMAT_UNCOMPRESSED 0x04
33 const void *
private,
void *
public );
35 const void *
private,
const void *
partner,
39#define ELLIPTIC_EXCHANGE( _name, _exchange, _len, _curve ) \
40 struct exchange_algorithm _exchange = { \
43 .pubsize = sizeof ( elliptic_uncompressed_t (_len) ), \
44 .sharedsize = (_len), \
45 .share = elliptic_share, \
46 .agree = elliptic_agree, \
int elliptic_agree(struct exchange_algorithm *exchange, const void *private, const void *partner, void *shared)
Agree shared secret.
int elliptic_share(struct exchange_algorithm *exchange, const void *private, void *public)
Share public key.
struct eth_slow_lacp_entity_tlv partner
Partner information.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
A key exchange algorithm.