Why algorithm chaining partial requests dst buffer get empty?
- Dominant language
- C
- Stars
- 443
- Forks
- 137
- PR merge metrics
- No merged PRs in 30d
Description
I tried to send partial requests with AES256-CBC and SHA256 chaining encryption, the cipher and hash start offset and length is the same.
No matter the chain order is cipher-then-hash or hash-then-cipher, there is no data in dst buffer in partial requests except the last partial. (src buffer != dst buffer)
But if the algorithm is AES256-CBC only, each partial request can return cipher text in dst buffer.
In 330685-qat-api-reference-cryptographic:
> When using partial packet processing with algorithm chaining, only the cipher state is maintained between calls.
The hash state is not be maintained between calls. Instead the hash digest will be generated/verified for each call.
If both the cipher state and hash state need to be maintained between calls, algorithm chaining cannot be used.
The document did not mention the empty data in partial requests.
Contributor guide
Assessment
This issue has not been assessed yet.