Re: cprng_fast implementation benchmarks

Mindaugas Rasiukevicius <[email protected]> Wed, 23 Apr 2014 13:16:42 +0100
Newsgroups gmane.os.netbsd.devel.crypto,gmane.os.netbsd.devel.kernel
Message-ID <[email protected]>
Thor Lancelot Simon <[email protected]> wrote:
>RESULTS
> 
> kernel	cpb (32 bit)	4GB (1 way)	16GB (4 ways)	Scaling Factor
> ------	------------	-----------	-------------	--------------
> arc4-mtx	35		42.58		398.83		0.106
> arc4-nomtx	24		42.12		2338.92		0.018
> arc4-percpu	27		33.63		41.59		0.808
> hc128-percpu	21		23.75		34.90		0.680
> hc128-inline	19 		22.66		31.75		0.713
> chacha8	22		20.51		30.45		0.662
> chacha12	24		24.87		34.32		0.724
> chacha20	28		30.45		39.28		0.775

Looks good!

You mentioned that 4GB of data are generated by requesting 256 bytes.
It would be more interesting to see the throughput of 4 byte requests
i.e. how many cprng_fast32() calls per second can we do?

My vote would go to a cipher of Salsa20 family.  They undergone quite
more cryptoanalysis than HC-128.

-- 
Mindaugas