Hi,

> This is RSAZ version 2, patching over the new OpenSSL version 1.0.1.

The 512-bit exponentiation, one useful for RSA1024 sign, is integrated 
in "dissected" form. Latter means that unlike original suggestion to 
implement whole exponentiation as one jumbo assembly subroutine taken 
approach places powers table generation and major loop to C to keep 
assembly code more manageable. Another essential difference is that it 
was optimized even for processors other than Intel Core family. See 
http://git.openssl.org/gitweb/?p=openssl.git;a=blob;f=crypto/bn/asm/rsaz-x86_64.pl;h=ed844636971247dd3b1760dc8fd5f0384ef9b752;hb=0b4bb91db65697ab6d3a0fc05b140887cbce3080
 
and 
http://git.openssl.org/gitweb/?p=openssl.git;a=blob;f=crypto/bn/rsaz_exp.c;h=57591b8db34f2076b53dda1be015e922e918ade5;hb=ca48ace5c52feb0082954fff00a44e1914b9e7e9.
 


As for 1024-bit exponentiation, I managed to close the gap between 
common x86_64-mont.pl and suggested code down to just few percent. I'll 
be taking a look even at x86_64-mont5.pl in near future and result might 
improve even further a little bit. But as it already is, it doesn't pay 
off to maintain [scalar] code specific for lengths larger than 512 bits.


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to