[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 5/6] crypto: convert xts_mult_x to use xts_uint1
From: |
Alberto Garcia |
Subject: |
Re: [Qemu-devel] [PATCH 5/6] crypto: convert xts_mult_x to use xts_uint128 type |
Date: |
Tue, 09 Oct 2018 16:25:31 +0200 |
User-agent: |
Notmuch/0.18.2 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu) |
On Tue 09 Oct 2018 03:55:34 PM CEST, Daniel P. Berrangé wrote:
> On Tue, Oct 09, 2018 at 03:52:53PM +0200, Alberto Garcia wrote:
>> On Tue 09 Oct 2018 02:55:40 PM CEST, Daniel P. Berrangé wrote:
>> > -static void xts_mult_x(uint8_t *I)
>> > +static void xts_mult_x(xts_uint128 *I)
>> > {
>> > - int x;
>> > - uint8_t t, tt;
>> > + uint64_t tt;
>> >
>> > - for (x = t = 0; x < 16; x++) {
>> > - tt = I[x] >> 7;
>> > - I[x] = ((I[x] << 1) | t) & 0xFF;
>> > - t = tt;
>> > - }
>> > - if (tt) {
>> > - I[0] ^= 0x87;
>> > + tt = I->a >> 63;
>> > + I->a = I->a << 1;
>> > +
>> > + if (I->b >> 63) {
>> > + I->a ^= 0x87;
>> > }
>> > + I->b = (I->b << 1) | tt;
>> > }
>>
>> Does this work fine in big-endian CPUs?
>
> Hmm, that's a good question. I'd expect tests/test-crypto-xts to crash
> and burn if it doesn't, so guess I'll need to find somewhere to validate
> that.
I just tried in s390x:
/crypto/xts/t-1-key-32-ptx-32: **
ERROR:/home/berto/qemu/tests/test-crypto-xts.c:386:test_xts: assertion failed:
(memcmp(out, data->CTX, data->PTLEN) == 0)
Aborted
Berto
[Qemu-devel] [PATCH 6/6] crypto: annotate xts_tweak_encdec as inlineable, Daniel P . Berrangé, 2018/10/09
[Qemu-devel] [PATCH 4/6] crypto: convert xts_tweak_encdec to use xts_uint128 type, Daniel P . Berrangé, 2018/10/09
Re: [Qemu-devel] [PATCH 0/6] crypto: improve performance of XTS cipher mode, Marc-André Lureau, 2018/10/09