You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor SHA to use trait. Implement Digest traits for SHA (#1908)
* feat(SHA): Refactor SHA to use trait. Implement Digest traits for SHA
* Fix CI. Fix wrong sha mode for esp32
* Save hash register for interleaving operation
An example (wip) `sha_fuzz.rs` was added to test different functionalities of the SHA driver and to ensure proper functionning under all cases.
* Use random data when testing SHA
* fix(SHA): Buffer words until a full block before writing to memory
This fixes interleaving operations by buffering words into the SHA context until a full block can be processed.
* Fix(SHA): Use correct length padding for SHA384 and SHA512.
- This fixes a long running issue with SHA384 and SHA512, where some digest of specific sizes wouldn't compute correctly, by changing the padding length of the size field.
* Re-export digest for convenience
* Remove completed TODO
* Remove SHA peripheral requirement.
- Document safety of the SHA driver.
---------
Co-authored-by: Scott Mabin <[email protected]>
Copy file name to clipboardexpand all lines: esp-hal/CHANGELOG.md
+3
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
13
13
- Added touch pad support for esp32 (#1873, #1956)
14
14
- Allow configuration of period updating method for MCPWM timers (#1898)
15
15
- Add self-testing mode for TWAI peripheral. (#1929)
16
+
- Added a `PeripheralClockControl::reset` to the driver constructors where missing (#1893)
17
+
- Added `digest::Digest` implementation to SHA (#1908)
16
18
- Added `debugger::debugger_connected`. (#1961)
17
19
18
20
### Changed
@@ -24,6 +26,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
24
26
- Allow DMA to/from psram for esp32s3 (#1827)
25
27
- DMA buffers now don't require a static lifetime. Make sure to never `mem::forget` an in-progress DMA transfer (consider using `#[deny(clippy::mem_forget)]`) (#1837)
26
28
- Peripherals (where possible) are now explicitly reset and enabled in their constructors (#1893)
29
+
- SHA driver now use specific structs for the hashing algorithm instead of a parameter. (#1908)
27
30
- Reset peripherals in driver constructors where missing (#1893, #1961)
0 commit comments