Mercurial > dropbear
annotate crypto_desc.c @ 1606:98d2b125eb89
kexhashbuf was much to small in kex fuzzers
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 08 Mar 2018 23:23:19 +0800 |
parents | 750ec4ec4cbe |
children | 34d9d3c022ce |
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 |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
767
diff
changeset
|
7 #if DROPBEAR_LTC_PRNG |
766 | 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[] = { | |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
767
diff
changeset
|
17 #if DROPBEAR_AES |
766 | 18 &aes_desc, |
19 #endif | |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
767
diff
changeset
|
20 #if DROPBEAR_BLOWFISH |
766 | 21 &blowfish_desc, |
22 #endif | |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
767
diff
changeset
|
23 #if DROPBEAR_TWOFISH |
766 | 24 &twofish_desc, |
25 #endif | |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
767
diff
changeset
|
26 #if DROPBEAR_3DES |
766 | 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, | |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
767
diff
changeset
|
35 #if DROPBEAR_MD5_HMAC |
766 | 36 &md5_desc, |
37 #endif | |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
767
diff
changeset
|
38 #if DROPBEAR_SHA256 |
766 | 39 &sha256_desc, |
40 #endif | |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
767
diff
changeset
|
41 #if DROPBEAR_SHA384 |
766 | 42 &sha384_desc, |
43 #endif | |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
767
diff
changeset
|
44 #if DROPBEAR_SHA512 |
766 | 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 | |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
767
diff
changeset
|
63 #if DROPBEAR_LTC_PRNG |
766 | 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 | |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
767
diff
changeset
|
70 #if DROPBEAR_ECC |
766 | 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 |