Another small update! , but a good one.
Online cipher processing
At long last, after a week or two of tedious testing, online processing for ciphers is complete! The knowledge learned will hopefully be useful in online processing for other cryptographic primitives, but for now I’m just glad to have these issues resolved:
- Some algorithms were not consuming the full input buffer, even though I was using input blocks of the ideal size.
- New, safer buffer estimation functions have been implemented
- Cipher update now handles remaining input properly
- Several issues regarding buffer sizes in Botan.Low.Cipher online processing have been fixed, and the resulting functions are suitable for use with any online-capable cipher / aead algorithm
- It has been discovered that SIV, CCM cipher modes do not support online processing, but Botan does not throw an error if you attempt to use them anyway, instead silently yielding an invalid ciphertext. This has been noted.
- Unit tests for cipher are complete enough for the moment to move on to another module
- Some tests (correctly) fail for specific algorithms (online processing for SIV, CCM); these tests will ignore the pertinent algorithms in the future.
Community proposal final draft
After all the feedback, I think I can consider the community proposal to be at its final draft. I will likely be making an official proposal submission to the Haskell Foundation on Monday.
That is all for now! See you next update!