Mercurial > dropbear
annotate crypto_desc.c @ 1283:3017bc7d6238
move m_burn and function attributes to dbhelpers
use m_burn for libtomcrypt zeromem() too
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 17 Mar 2016 23:21:33 +0800 |
parents | e465ed10c51d |
children | 89555751c489 750ec4ec4cbe |
rev | line source |
---|---|
766 | 1 #include "includes.h" |
2 #include "dbutil.h" | |
3 #include "crypto_desc.h" | |
4 #include "ltc_prng.h" | |
767
e465ed10c51d
Be safer with how we handle ltc_ecc_sets[] (particularly with
Matt Johnston <matt@ucc.asn.au>
parents:
766
diff
changeset
|
5 #include "ecc.h" |
766 | 6 |
7 #ifdef DROPBEAR_LTC_PRNG | |
8 int dropbear_ltc_prng = -1; | |
9 #endif | |
10 | |
11 | |
12 /* Register the compiled in ciphers. | |
13 * This should be run before using any of the ciphers/hashes */ | |
14 void crypto_init() { | |
15 | |
16 const struct ltc_cipher_descriptor *regciphers[] = { | |
17 #ifdef DROPBEAR_AES | |
18 &aes_desc, | |
19 #endif | |
20 #ifdef DROPBEAR_BLOWFISH | |
21 &blowfish_desc, | |
22 #endif | |
23 #ifdef DROPBEAR_TWOFISH | |
24 &twofish_desc, | |
25 #endif | |
26 #ifdef DROPBEAR_3DES | |
27 &des3_desc, | |
28 #endif | |
29 NULL | |
30 }; | |
31 | |
32 const struct ltc_hash_descriptor *reghashes[] = { | |
33 /* we need sha1 for hostkey stuff regardless */ | |
34 &sha1_desc, | |
35 #ifdef DROPBEAR_MD5_HMAC | |
36 &md5_desc, | |
37 #endif | |
38 #ifdef DROPBEAR_SHA256 | |
39 &sha256_desc, | |
40 #endif | |
41 #ifdef DROPBEAR_SHA384 | |
42 &sha384_desc, | |
43 #endif | |
44 #ifdef DROPBEAR_SHA512 | |
45 &sha512_desc, | |
46 #endif | |
47 NULL | |
48 }; | |
49 int i; | |
50 | |
51 for (i = 0; regciphers[i] != NULL; i++) { | |
52 if (register_cipher(regciphers[i]) == -1) { | |
53 dropbear_exit("Error registering crypto"); | |
54 } | |
55 } | |
56 | |
57 for (i = 0; reghashes[i] != NULL; i++) { | |
58 if (register_hash(reghashes[i]) == -1) { | |
59 dropbear_exit("Error registering crypto"); | |
60 } | |
61 } | |
62 | |
63 #ifdef DROPBEAR_LTC_PRNG | |
64 dropbear_ltc_prng = register_prng(&dropbear_prng_desc); | |
65 if (dropbear_ltc_prng == -1) { | |
66 dropbear_exit("Error registering crypto"); | |
67 } | |
68 #endif | |
69 | |
70 #ifdef DROPBEAR_ECC | |
71 ltc_mp = ltm_desc; | |
767
e465ed10c51d
Be safer with how we handle ltc_ecc_sets[] (particularly with
Matt Johnston <matt@ucc.asn.au>
parents:
766
diff
changeset
|
72 dropbear_ecc_fill_dp(); |
766 | 73 #endif |
74 } | |
75 |