qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]