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: Daniel P . Berrangé
Subject: Re: [Qemu-devel] [PATCH 5/6] crypto: convert xts_mult_x to use xts_uint128 type
Date: Tue, 9 Oct 2018 14:55:34 +0100
User-agent: Mutt/1.10.1 (2018-07-13)

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.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



reply via email to

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