Skip to content

Commit e5965e4

Browse files
feat(SHA): Use hardware acceleration for SHA operations
1 parent e6e698f commit e5965e4

35 files changed

+2727
-104
lines changed

Cargo.toml

+11-7
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ rust-version = "1.75"
88

99
[profile.release]
1010
debug = true
11-
lto = false
11+
lto = "fat"
12+
opt-level = "s"
1213

1314
[profile.release.package.esp-wifi]
1415
opt-level = 3
@@ -42,10 +43,7 @@ embassy-net = { version = "0.4.0", features = [
4243
], optional = true }
4344

4445

45-
esp-wifi = { version = "0.10.1", features = [
46-
"phy-enable-usb",
47-
"wifi-default",
48-
] }
46+
esp-wifi = { version = "0.10.1", features = ["phy-enable-usb", "wifi-default"] }
4947
smoltcp = { version = "0.11.0", default-features = false, features = [
5048
"proto-igmp",
5149
"proto-ipv4",
@@ -93,7 +91,13 @@ required-features = ["async"]
9391

9492
[[example]]
9593
name = "edge_server"
96-
required-features = ["async", "esp-hal-embassy", "edge-nal-embassy", "edge-http", "esp-mbedtls/edge-nal"]
94+
required-features = [
95+
"async",
96+
"esp-hal-embassy",
97+
"edge-nal-embassy",
98+
"edge-http",
99+
"esp-mbedtls/edge-nal",
100+
]
97101

98102
[features]
99103
esp32 = [
@@ -136,5 +140,5 @@ async = [
136140
"embassy-time",
137141
"dep:embedded-io-async",
138142
"esp-mbedtls/async",
139-
"esp-hal-embassy"
143+
"esp-hal-embassy",
140144
]

esp-mbedtls-sys/headers/esp32/config.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -330,9 +330,9 @@
330330
//#define MBEDTLS_POLY1305_ALT
331331
//#define MBEDTLS_RIPEMD160_ALT
332332
//#define MBEDTLS_RSA_ALT
333-
//#define MBEDTLS_SHA1_ALT
333+
// #define MBEDTLS_SHA1_ALT
334334
//#define MBEDTLS_SHA256_ALT
335-
//#define MBEDTLS_SHA512_ALT
335+
// #define MBEDTLS_SHA512_ALT
336336

337337
/*
338338
* When replacing the elliptic curve module, please consider, that it is

esp-mbedtls-sys/headers/esp32c3/config.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@
331331
//#define MBEDTLS_POLY1305_ALT
332332
//#define MBEDTLS_RIPEMD160_ALT
333333
//#define MBEDTLS_RSA_ALT
334-
//#define MBEDTLS_SHA1_ALT
334+
#define MBEDTLS_SHA1_ALT
335335
//#define MBEDTLS_SHA256_ALT
336336
//#define MBEDTLS_SHA512_ALT
337337

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
typedef struct mbedtls_sha1_context {
2+
void* hasher;
3+
} mbedtls_sha1_context;

esp-mbedtls-sys/headers/esp32s2/config.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -331,9 +331,9 @@
331331
//#define MBEDTLS_POLY1305_ALT
332332
//#define MBEDTLS_RIPEMD160_ALT
333333
//#define MBEDTLS_RSA_ALT
334-
//#define MBEDTLS_SHA1_ALT
335-
//#define MBEDTLS_SHA256_ALT
336-
//#define MBEDTLS_SHA512_ALT
334+
#define MBEDTLS_SHA1_ALT
335+
#define MBEDTLS_SHA256_ALT
336+
#define MBEDTLS_SHA512_ALT
337337

338338
/*
339339
* When replacing the elliptic curve module, please consider, that it is
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
typedef struct mbedtls_sha1_context {
2+
void* hasher;
3+
} mbedtls_sha1_context;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
typedef struct mbedtls_sha256_context {
2+
void* sha224_hasher;
3+
void* sha256_hasher;
4+
int is224;
5+
} mbedtls_sha256_context;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
typedef struct mbedtls_sha512_context {
2+
void* sha384_hasher;
3+
void* sha512_hasher;
4+
int is384;
5+
} mbedtls_sha512_context;

esp-mbedtls-sys/headers/esp32s3/config.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -331,9 +331,9 @@
331331
//#define MBEDTLS_POLY1305_ALT
332332
//#define MBEDTLS_RIPEMD160_ALT
333333
//#define MBEDTLS_RSA_ALT
334-
//#define MBEDTLS_SHA1_ALT
335-
//#define MBEDTLS_SHA256_ALT
336-
//#define MBEDTLS_SHA512_ALT
334+
#define MBEDTLS_SHA1_ALT
335+
#define MBEDTLS_SHA256_ALT
336+
#define MBEDTLS_SHA512_ALT
337337

338338
/*
339339
* When replacing the elliptic curve module, please consider, that it is
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
typedef struct mbedtls_sha1_context {
2+
void* hasher;
3+
} mbedtls_sha1_context;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
typedef struct mbedtls_sha256_context {
2+
void* sha224_hasher;
3+
void* sha256_hasher;
4+
int is224;
5+
} mbedtls_sha256_context;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
typedef struct mbedtls_sha512_context {
2+
void* sha384_hasher;
3+
void* sha512_hasher;
4+
int is384;
5+
} mbedtls_sha512_context;

0 commit comments

Comments
 (0)