Mercurial > dropbear
annotate libtomcrypt/src/headers/tomcrypt_dropbear.h @ 1861:2b3a8026a6ce
Add re-exec for server
This allows ASLR to re-randomize the address
space for every connection, preventing some
vulnerabilities from being exploitable by
repeated probing.
Overhead (memory and time) is yet to be confirmed.
At present this is only enabled on Linux. Other BSD platforms
with fexecve() would probably also work though have not been tested.
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sun, 30 Jan 2022 10:14:56 +0800 |
parents | c2c0f43ff827 |
children | 3f4cdf839a1a |
rev | line source |
---|---|
1476
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
1 /* compile options depend on Dropbear options.h */ |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
2 #include "options.h" |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
3 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
4 /* Dropbear config */ |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
5 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
6 #define LTC_NOTHING |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
7 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
8 /* Use small code where possible */ |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
9 #if DROPBEAR_SMALL_CODE |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
10 #define LTC_SMALL_CODE |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
11 #endif |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
12 |
1711 | 13 /* Fewer entries needed */ |
14 #define TAB_SIZE 5 | |
15 | |
1476
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
16 #if DROPBEAR_AES |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
17 #define LTC_RIJNDAEL |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
18 #endif |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
19 /* _TABLES tells it to use tables during setup, _SMALL means to use the smaller scheduled key format |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
20 * (saves 4KB of ram), _ALL_TABLES enables all tables during setup */ |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
21 #if DROPBEAR_TWOFISH |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
22 #define LTC_TWOFISH |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
23 #define LTC_TWOFISH_SMALL |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
24 #endif |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
25 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
26 #if DROPBEAR_3DES |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
27 #define LTC_DES |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
28 #endif |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
29 |
1673
e0871128e61f
CBC mode cleanup (#95)
Vladislav Grishenko <themiron@users.noreply.github.com>
parents:
1672
diff
changeset
|
30 #if DROPBEAR_ENABLE_CBC_MODE |
1476
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
31 #define LTC_CBC_MODE |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
32 #endif |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
33 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
34 #if DROPBEAR_ENABLE_CTR_MODE |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
35 #define LTC_CTR_MODE |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
36 #endif |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
37 |
1672
3a97f14c0235
Add Chacha20-Poly1305, AES128-GCM and AES256-GCM support (#93)
Vladislav Grishenko <themiron@users.noreply.github.com>
parents:
1476
diff
changeset
|
38 #if DROPBEAR_ENABLE_GCM_MODE |
3a97f14c0235
Add Chacha20-Poly1305, AES128-GCM and AES256-GCM support (#93)
Vladislav Grishenko <themiron@users.noreply.github.com>
parents:
1476
diff
changeset
|
39 #define LTC_GCM_MODE |
3a97f14c0235
Add Chacha20-Poly1305, AES128-GCM and AES256-GCM support (#93)
Vladislav Grishenko <themiron@users.noreply.github.com>
parents:
1476
diff
changeset
|
40 #endif |
3a97f14c0235
Add Chacha20-Poly1305, AES128-GCM and AES256-GCM support (#93)
Vladislav Grishenko <themiron@users.noreply.github.com>
parents:
1476
diff
changeset
|
41 |
3a97f14c0235
Add Chacha20-Poly1305, AES128-GCM and AES256-GCM support (#93)
Vladislav Grishenko <themiron@users.noreply.github.com>
parents:
1476
diff
changeset
|
42 #if DROPBEAR_CHACHA20POLY1305 |
3a97f14c0235
Add Chacha20-Poly1305, AES128-GCM and AES256-GCM support (#93)
Vladislav Grishenko <themiron@users.noreply.github.com>
parents:
1476
diff
changeset
|
43 #define LTC_CHACHA |
3a97f14c0235
Add Chacha20-Poly1305, AES128-GCM and AES256-GCM support (#93)
Vladislav Grishenko <themiron@users.noreply.github.com>
parents:
1476
diff
changeset
|
44 #define LTC_POLY1305 |
3a97f14c0235
Add Chacha20-Poly1305, AES128-GCM and AES256-GCM support (#93)
Vladislav Grishenko <themiron@users.noreply.github.com>
parents:
1476
diff
changeset
|
45 #endif |
1476
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
46 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
47 #if DROPBEAR_SHA512 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
48 #define LTC_SHA512 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
49 #endif |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
50 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
51 #if DROPBEAR_SHA384 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
52 #define LTC_SHA384 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
53 #endif |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
54 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
55 #if DROPBEAR_SHA256 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
56 #define LTC_SHA256 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
57 #endif |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
58 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
59 #define LTC_SHA1 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
60 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
61 #if DROPBEAR_MD5 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
62 #define LTC_MD5 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
63 #endif |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
64 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
65 /* ECC */ |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
66 #if DROPBEAR_ECC |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
67 #define LTC_MECC |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
68 #define LTM_DESC |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
69 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
70 /* use Shamir's trick for point mul (speeds up signature verification) */ |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
71 #define LTC_ECC_SHAMIR |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
72 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
73 #if DROPBEAR_ECC_256 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
74 #define LTC_ECC256 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
75 #endif |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
76 #if DROPBEAR_ECC_384 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
77 #define LTC_ECC384 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
78 #endif |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
79 #if DROPBEAR_ECC_521 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
80 #define LTC_ECC521 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
81 #endif |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
82 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
83 #endif /* DROPBEAR_ECC */ |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
84 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
85 #define LTC_HMAC |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
86 #define LTC_HASH_HELPERS |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
87 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
88 #define LTC_NO_TEST |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
89 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
90 #define LTC_BASE64 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
91 |
8305ebe45940
Put Dropbear config in a separate file
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
92 /* end Dropbear config */ |