summaryrefslogtreecommitdiffhomepage
path: root/ecdsa.h
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2013-10-21 22:57:21 +0800
committerMatt Johnston <matt@ucc.asn.au>2013-10-21 22:57:21 +0800
commit8eefb092c83f8f89f4d5574e4a05799eb9df3de8 (patch)
tree38ab731e4c38f1e287c187a9ca14ea73a92f9434 /ecdsa.h
parent3d733a16e9ee856a45a1fbd9a1b48005d78063f9 (diff)
parent45bd0edae52c07daa2d54ca7f7c0a57d51130791 (diff)
Merge in ECC
Diffstat (limited to 'ecdsa.h')
-rw-r--r--ecdsa.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/ecdsa.h b/ecdsa.h
new file mode 100644
index 0000000..84e4000
--- /dev/null
+++ b/ecdsa.h
@@ -0,0 +1,32 @@
+#ifndef _ECDSA_H_
+#define _ECDSA_H_
+
+#include "includes.h"
+#include "buffer.h"
+#include "signkey.h"
+
+#ifdef DROPBEAR_ECDSA
+
+#ifdef 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
+#define ECDSA_DEFAULT_SIZE 0
+#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(ecc_key * key);
+
+void buf_put_ecdsa_sign(buffer *buf, ecc_key *key, buffer *data_buf);
+int buf_ecdsa_verify(buffer *buf, ecc_key *key, buffer *data_buf);
+
+#endif
+
+#endif // _ECDSA_H_