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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
e9dba7abd939 Merge libtomcrypt v1.18.2
Matt Johnston <matt@ucc.asn.au>
parents: 1673
diff changeset
13 /* Fewer entries needed */
e9dba7abd939 Merge libtomcrypt v1.18.2
Matt Johnston <matt@ucc.asn.au>
parents: 1673
diff changeset
14 #define TAB_SIZE 5
e9dba7abd939 Merge libtomcrypt v1.18.2
Matt Johnston <matt@ucc.asn.au>
parents: 1673
diff changeset
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 */