view ecdsa.h @ 1635:c9b5017b0a7b

drop obsolete definition for MAX_KEXHASHBUF (#65) The last code to make use of MAX_KEXHASHBUF was removed in 2005: https://github.com/mkj/dropbear/commit/736f370dce614b717193f45d084e9e009de723ce Signed-off-by: Andre McCurdy <[email protected]>
author Andre McCurdy <armccurdy@gmail.com>
date Wed, 20 Mar 2019 08:01:41 -0700
parents 99ca393afc56
children
line wrap: on
line source

#ifndef DROPBEAR_ECDSA_H_
#define DROPBEAR_ECDSA_H_

#include "includes.h"
#include "buffer.h"
#include "signkey.h"

#if DROPBEAR_ECDSA

/* prefer 256 or 384 since those are SHOULD for
   draft-ietf-curdle-ssh-kex-sha2.txt */
#if DROPBEAR_ECC_256
#define ECDSA_DEFAULT_SIZE 256
#elif DROPBEAR_ECC_384
#define ECDSA_DEFAULT_SIZE 384
#elif DROPBEAR_ECC_521
#define ECDSA_DEFAULT_SIZE 521
#else
#error ECDSA cannot be enabled without enabling at least one size (256, 384, 521)
#endif

ecc_key *gen_ecdsa_priv_key(unsigned int bit_size);
ecc_key *buf_get_ecdsa_pub_key(buffer* buf);
ecc_key *buf_get_ecdsa_priv_key(buffer *buf);
void buf_put_ecdsa_pub_key(buffer *buf, ecc_key *key);
void buf_put_ecdsa_priv_key(buffer *buf, ecc_key *key);
enum signkey_type ecdsa_signkey_type(const ecc_key * key);

void buf_put_ecdsa_sign(buffer *buf, const ecc_key *key, const buffer *data_buf);
int buf_ecdsa_verify(buffer *buf, const ecc_key *key, const buffer *data_buf);
/* Returns 1 on success */
int signkey_is_ecdsa(enum signkey_type type);

#endif

#endif /* DROPBEAR_ECDSA_H_ */