Re: [RFC PATCH v2 0/4] Exporting existing crypto API code through zinc

From: Jason A. Donenfeld
Date: Tue Nov 20 2018 - 11:24:58 EST


On Tue, Nov 20, 2018 at 3:19 PM Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote:
> Yes. In fact it's used for FIPS certification testing.
> Sure, nobody sane should be doing it. But when it comes to
> government certification... :)

The kernel does not aim toward any FIPS certification, and we're not
going to start bloating our designs to fulfill this. It's never been a
goal. Maybe ask Ted to add a FIPS mode to random.c and see what
happens... When you start arguing "because FIPS!" as your
justification, you really hit a head scratcher.

> They've already paid for the indirect
> function call so why make them go through yet another run-time
> branch?

The indirect function call in the crypto API is the performance hit.
The branch in Zinc is not, as the predictor does the correct thing
every single time. I'm not able to distinguish between the two looking
at the performance measurements between it being there and the branch
being commented out.

Give me a few more days to finish v9's latest required changes for
chacha12, and then I'll submit a revision that I think should address
the remaining technical objections raised over the last several months
we've been discussing this.

Regards,
Jason