On 25/01/2019 20:16, Andrew Tucker wrote:
> I was doing some comparisons of XTS and GCM mode using the EVP APIs and found 
> a
> discrepancy that seems to be an issue with XTS.
> 
> In GCM mode if the buffer is encrypted in one call to EVP_EncryptUpdate or 
> with
> several calls with smaller buffers the resulting ciphertext is the same, as I
> would expect.   With XTS mode, calling EVP_EncryptUpdate results in the same
> ciphertext for the same plaintext and does not match the results when the 
> buffer
> is encrypted with one call to EVP_EncryptUpdate.
> 
> I would expect that the counter is incremented in both XTS and GCM mode in the
> same way and that in both cases the output would match regardless of the
> encryption block size.
> 
> A simple repro test is attached.    If you run it you can see that the output
> "GCM in one block" matches the output for "GCM in 16 byte blocks" and the
> outputs do not match for XTS.
> 
> I am using OpenSSL v1.02p but I have tried with other versions and got the 
> same
> results.
> 
> Am I misunderstanding the use of XTS mode or is this an issue with OpenSSL?

Please see my previous post on this topic here:

https://mta.openssl.org/pipermail/openssl-users/2019-January/009781.html

PRs welcome to improve the documentation in this area.

Matt

Reply via email to