briansmith / ring

Safe, fast, small crypto using Rust
Other
3.64k stars 683 forks source link

aead internals: Eliminate dependency on `KeyInner` from implementations. #2036

Closed briansmith closed 2 months ago

briansmith commented 2 months ago

Remove all uses of KeyInner and Algorithm from the AES-GCM and ChaCha20-Poly1305 implementation submodules, so that both modules become fully statically typed. Encapsulate access to the "methods" of Algorithm by moving Algorithm and the "implementations" of Algorithm to a new submodule that does all the dynamic dispatching.

codecov[bot] commented 2 months ago

Codecov Report

Attention: Patch coverage is 89.50276% with 19 lines in your changes are missing coverage. Please review.

Project coverage is 96.28%. Comparing base (43aeea9) to head (a9b0890).

Files Patch % Lines
src/aead/algorithm.rs 87.12% 17 Missing :warning:
src/aead/unbound_key.rs 33.33% 2 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #2036 +/- ## ========================================== + Coverage 96.26% 96.28% +0.01% ========================================== Files 140 141 +1 Lines 20401 20482 +81 Branches 226 226 ========================================== + Hits 19639 19721 +82 + Misses 728 727 -1 Partials 34 34 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.