[Cryptech Core] integrate_mkmif

Paul Selkirk paul at psgd.org
Tue May 5 04:53:56 UTC 2020

I thought I had gotten all the low-hanging fruit for signing
performance, but I was wrong.

I've been running parallel-signers.py with 4 signers, because the hsm
has 4 RPC tasks by default. It has 4 tasks because that seemed like a
reasonable number at the time I first wrote it, years ago. And 4 is a
reasonable limit when we only have one modexp core, but with more
modexp, can we add more tasks to support more signers? (Yes.)

The following tests were conducted with 10 RPC tasks and up to 10
signers. Performance is expressed in signatures/second, where more is
better. :)

Note that the bitstreams with multiple modexpng cores do not have the
hash or ecdsa cores. This represents an RSA signing appliance, if such a
thing exists. But that's exactly where you'd want to focus on RSA
signing speed.

                1 modexpng      2               3
1 signer        28.220 sig/sec  27.785          27.819
2               54.919          54.009          54.013
3               77.721          87.352          87.027
4               93.791          97.952          99.749
5               95.122          117.245         119.949
6               94.709          124.333         124.769
7               94.200          130.359         132.414
8               93.945          129.567         130.670
9               93.512          128.473         129.775
10              93.038          127.073         127.677

With 1 modexpng core, performance peaks with 5 signers, but not by a
lot; 4 is reasonable. With 2 or 3 modexpng cores, it peaks at 7 signers.
With too many signers, performance degrades slightly, probably because
of too much resource contention and task switching. 3 cores is only
marginally better than 2, for reasons I haven't fully explored.

If I can build a bitstream with 2 modexpng and everything else, I'll
push that to releng. I had some problems meeting timing in the past, but
maybe I'll be luckier this time?

Anyway, we can legitimately claim 130+ sig/sec with a 2048-bit key with
current Cryptech technology.


More information about the Core mailing list