[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAKv+Gu_uahQEP-4mc10KQThQM6rTF4o5xqi6YgEq8Od87x3KgQ@mail.gmail.com>
Date: Mon, 5 Nov 2018 19:58:05 +0100
From: Ard Biesheuvel <ard.biesheuvel@...aro.org>
To: Ard Biesheuvel <ard.biesheuvel@...aro.org>,
Herbert Xu <herbert@...dor.apana.org.au>,
"David S. Miller" <davem@...emloft.net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
Philippe Ombredanne <pombredanne@...b.com>,
Kate Stewart <kstewart@...uxfoundation.org>,
"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
<linux-crypto@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3 1/3] crypto: streebog - add Streebog hash function
On 5 November 2018 at 19:23, Vitaly Chikunov <vt@...linux.org> wrote:
> Ard,
>
> On Mon, Nov 05, 2018 at 02:22:21PM +0100, Ard Biesheuvel wrote:
>>
>> > +static const struct streebog_uint512 buffer512 = { {
>> > + cpu_to_le64(0x200ULL),
>>
>> Can we keep the memory representation in native endianness, and only
>> swab the in/output [where needed]?
>
> I hope you do not insist on that?
>
> The code is using same primitives to add/xor/permute with data from
> these arrays (buffer512[] and C[], those which use cpu_to_le64), and
> from generic data buffers. Having these arrays in native endianness will
> cause complexities - code split and duplications. For example, XLPS
> permutation will require two versions, with one accessing (y) as is and
> another as cpu_to_le64(y).
>
> The code is based on canonical implementation by RFC 6986 ("GOST R
> 34.11-2012: Hash Function") author, and I don't want it do deviate that
> much from the original, which would complicate algorithm reviews.
>
That is a very good reason, so unless anyone has concerns about the
performance on BE systems, let's leave it as is.
Powered by blists - more mailing lists