Thread (3 messages) 3 messages, 2 authors, 2018-09-19

[PATCH net-next v5 09/20] zinc: Poly1305 ARM and ARM64 implementations

From: Jason@zx2c4.com (Jason A. Donenfeld)
Date: 2018-09-19 00:17:28
Also in: linux-crypto, lkml, netdev

Hi Eric,

On Wed, Sep 19, 2018 at 12:55 AM Eric Biggers [off-list ref] wrote:
This will compute the wrong digest if called with simd_context=HAVE_FULL_SIMD
and then later with simd_context=HAVE_NO_SIMD, since poly1305_blocks_neon()
converts the accumulator from base 32 to base 26, whereas poly1305_blocks_arm()
assumes it is still in base 32.  Is that intentional?  I'm sure this is a rare
case, but my understanding is that the existing crypto API doesn't preclude
calling successive steps in different contexts.  And I'm concerned that it could
be relevant in some cases, e.g. especially if people are importing a hash state
that was exported earlier.  Handling it by silently computing the wrong digest
is not a great idea...
Indeed you're right; Samuel and I were just discussing that recently.
I'd rather handle this correctly even if the contexts change, so I'll
see if I can fix this up properly for that unlikely case in the next
revision.

Jason
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help