qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 3/6] crypto: introduce a xts_uint128 data type


From: Alberto Garcia
Subject: Re: [Qemu-devel] [PATCH 3/6] crypto: introduce a xts_uint128 data type
Date: Tue, 09 Oct 2018 16:50:16 +0200
User-agent: Notmuch/0.18.2 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu)

On Tue 09 Oct 2018 02:55:38 PM CEST, Daniel P. Berrangé wrote:

> @@ -85,7 +90,7 @@ void xts_decrypt(const void *datactx,
>                   uint8_t *dst,
>                   const uint8_t *src)
>  {
> -    uint8_t PP[XTS_BLOCK_SIZE], CC[XTS_BLOCK_SIZE], T[XTS_BLOCK_SIZE];
> +    xts_uint128 PP, CC, T;
>      unsigned long i, m, mo, lim;

   [...]

>          /* Pm = first length % XTS_BLOCK_SIZE bytes of PP */
>          for (i = 0; i < mo; i++) {
> -            CC[i] = src[XTS_BLOCK_SIZE + i];
> -            dst[XTS_BLOCK_SIZE + i] = PP[i];
> +            ((uint8_t *)&CC)[i] = src[XTS_BLOCK_SIZE + i];
> +            dst[XTS_BLOCK_SIZE + i] = ((uint8_t *)&PP)[i];
>          }

On second thoughts, these casts are a bit cumbersome. I wonder if it
isn't better to keep the array a uint8_t[] and only treat it as
xts_uint128 in the places where you actually do 64-bit operations
(xts_uint128_xor, xts_mult_x).

Berto



reply via email to

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