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]
