comparison ecc.h @ 793:70625eed40c9 ecc

A bit of work on ecdsa for host/auth keys
author Matt Johnston <matt@ucc.asn.au>
date Sun, 14 Apr 2013 00:50:03 +0800
parents e465ed10c51d
children c19acba28590
comparison
equal deleted inserted replaced
768:6e6ce39da2fc 793:70625eed40c9
9 #ifdef DROPBEAR_ECC 9 #ifdef DROPBEAR_ECC
10 10
11 struct dropbear_ecc_curve { 11 struct dropbear_ecc_curve {
12 int ltc_size; // to match the byte sizes in ltc_ecc_sets[] 12 int ltc_size; // to match the byte sizes in ltc_ecc_sets[]
13 const ltc_ecc_set_type *dp; // curve domain parameters 13 const ltc_ecc_set_type *dp; // curve domain parameters
14 const struct ltc_hash_descriptor *hashdesc; 14 const struct ltc_hash_descriptor *hash_desc;
15 const char *name; 15 const unsigned char *name;
16 }; 16 };
17 17
18 extern struct dropbear_ecc_curve ecc_curve_nistp256; 18 extern struct dropbear_ecc_curve ecc_curve_nistp256;
19 extern struct dropbear_ecc_curve ecc_curve_nistp384; 19 extern struct dropbear_ecc_curve ecc_curve_nistp384;
20 extern struct dropbear_ecc_curve ecc_curve_nistp521; 20 extern struct dropbear_ecc_curve ecc_curve_nistp521;
21 extern struct dropbear_ecc_curve *dropbear_ecc_curves[]; 21 extern struct dropbear_ecc_curve *dropbear_ecc_curves[];
22 22
23 void dropbear_ecc_fill_dp(); 23 void dropbear_ecc_fill_dp();
24 struct dropbear_ecc_curve* curve_for_dp(const ltc_ecc_set_type *dp);
24 25
25 // "pubkey" refers to a point, but LTC uses ecc_key structure for both public 26 // "pubkey" refers to a point, but LTC uses ecc_key structure for both public
26 // and private keys 27 // and private keys
27 void buf_put_ecc_raw_pubkey_string(buffer *buf, ecc_key *key); 28 void buf_put_ecc_raw_pubkey_string(buffer *buf, ecc_key *key);
28 ecc_key * buf_get_ecc_raw_pubkey(buffer *buf, const struct dropbear_ecc_curve *curve); 29 ecc_key * buf_get_ecc_raw_pubkey(buffer *buf, const struct dropbear_ecc_curve *curve);