[openssl-dev] ARM optimised montgomery multiplication (armv4-mont)

Andy Polyakov appro at openssl.org
Tue Jun 16 21:42:36 UTC 2015


> What's more, I dug out a Cortex-A9 target (Atmel CycloneV board, operating
> with single core only) and got this without armv4-mont.pl:
>                   sign    verify    sign/s verify/s
> rsa 2048 bits 0.127342s 0.003628s      7.9    275.6
> dsa 2048 bits 0.035971s 0.042778s     27.8     23.4
> 
> and this with armv4-mont.pl:
>                   sign    verify    sign/s verify/s
> rsa 2048 bits 0.172931s 0.005222s      5.8    191.5
> dsa 2048 bits 0.052565s 0.061350s     19.0     16.3

For reference, here is what I get on 1GHz Cortex-A9

Without armv4-mont:

rsa 2048 bits 0.041590s 0.001116s     24.0    896.0
dsa 2048 bits 0.011574s 0.013831s     86.4     72.3

With armv4-mont, no NEON

rsa 2048 bits 0.033003s 0.000954s     30.3   1048.4
dsa 2048 bits 0.009794s 0.011211s    102.1     89.2

NEON (recall that A9 is an odd-ball)

rsa 2048 bits 0.034281s 0.000987s     29.2   1012.8
dsa 2048 bits 0.010163s 0.012027s     98.4     83.1

Here is 600MHz ARM11xx, an ARMv6 processor.

Without armv4-mont:

rsa 2048 bits 0.110889s 0.002923s      9.0    342.1
dsa 2048 bits 0.030182s 0.036533s     33.1     27.4

With armv4-mont:

rsa 2048 bits 0.087895s 0.002569s     11.4    389.2
dsa 2048 bits 0.026412s 0.031384s     37.9     31.9



More information about the openssl-dev mailing list