Re: [PATCH v2] hex2bin: make the function hex_to_bin constant-time

From: Mikulas Patocka
Date: Wed May 04 2022 - 07:54:24 EST




On Wed, 4 May 2022, Andy Shevchenko wrote:

> On Wed, May 04, 2022 at 04:57:35AM -0400, Mikulas Patocka wrote:
> > On Wed, 4 May 2022, Stafford Horne wrote:
> > > On Mon, Apr 25, 2022 at 08:07:48AM -0400, Mikulas Patocka wrote:
>
> ...
>
> > > Just a heads up it seems this patch is causing some instability with crypto self
> > > tests on OpenRISC when using a PREEMPT kernel (no SMP).
> > >
> > > This was reported by Jason A. Donenfeld as it came up in wireguard testing.
> > >
> > > I am trying to figure out if this is an OpenRISC PREEMPT issue or something
> > > else.
>
> > That patch is so simple that I can't imagine how could it break the
> > curve25519 test. Are you sure that you bisected it correctly?
>
> Can you provide a test cases for hex_to_bin()?

I tested it with this:

#include <stdio.h>

int hex_to_bin(unsigned char c);

int main(void)
{
int i;
for (i = 0; i < 256; i++)
printf("%02x - %d\n", i, hex_to_bin(i));
return 0;
}

Mikulas