René Meusel
René Meusel
This is essentially a complete overhaul of the Kyber and Dilithium implementations aiming at as much shared code as possible between the two algorithms. The rough structure is outlined below....
This picks up the work started in #3942 by proposing a `BufferTransformer` class; which is essentially an orchestrator for `BufferSlicer` and `BufferStuffer`. [As mentioned yesterday](https://github.com/randombit/botan/pull/4042#discussion_r1652432882), I added some template fanciness,...
This is just an attempt to reproduce on CI... I re-enabled the test on windows in the hope to increase the failure cross-section.
With #3951 `botan_cipher_update()` gained a documented way to communicate the required buffer size to finalize certain cipher modes if not enough bytes were provided by the caller. I feel that...
This is an alternative suggestion to address #4090. Essentially, it keeps the constraint that `botan_cipher_get_update_granularity()` should always return a size greater than the `minimal_final_size()` of the underlying cipher mode. But,...
> Perhaps it makes sense to support some kind of "reduced" KAT tests (potentially generically for all PQC algorithms)? Possibly so. I think CI runtimes are generally fine except for...
Additional context here: https://github.com/randombit/botan/pull/3716#discussion_r1584989832 TL;DR: Reduce the boiler-plate when loading integers of a statically known bitlength from a buffer: ```C++ // currently auto a = load_be(slicer.take()); auto b = load_be(slicer.take());...
Collection of potential improvements on the public (and perhaps internal) X.509 API of the library. * [ ] `Path_Validation_Restrictions` are currently created with a constructor that is becoming quite bloated...
Future work left over from LMS #3716. _Originally posted by @reneme in https://github.com/randombit/botan/pull/3716#discussion_r1576062487_
### Pull Request Dependencies * #4318 ### Description This piggy-backs on the `PK_Key_Generation_Test` to perform basic roundtrip tests for Sign/Verify, Encrypt/Decrypt, Encaps/Decaps, and Key Agreement, depending on the capabilities of...