RFR: 8132330: Ineffective SecureRandom usage in RSA encoding with PKCS1Padding

Weijun Wang weijun.wang at oracle.com
Wed Aug 12 00:38:31 UTC 2015


Hi Sergey

Sorry for the late reply. The change looks fine.

If you want me to push it, please show me the changeset block you like, 
including contributed-by or your openjdk id if you already had an author 
role.

Thanks
Max

On 08/05/2015 08:09 PM, Sergey Kuksenko wrote:
> Hi All,
>
> Please review changes to the following performance improvement:
>
> https://bugs.openjdk.java.net/browse/JDK-8132330
>
> Webrev: http://cr.openjdk.java.net/~skuksenko/crypto/8132330/webrev.02/
>
> Sponsorship is required.
>
> ------
> Currently sun.security.rsa.RSAPadding::padV15 uses fixed size (64 bytes)
> buffer for obtaining random bytes from SecureRandom.
> Here we got two sources of inefficiency:
> - when length of required padding is greater than 64 -> several calls of
> SecureRandom.nextBytes are required that increases contention blocking
> on SecureRandom
> - when length of required padding is less than 64 it causes unnecessary
> overhead (e.g. nextBytes for 16 bytes is 4x times faster than for 64 bytes)
>
> Suggested performance improvement shows RSA encoding (public key) speedup:
> - 10%-18% when NativePRNG SecureRandom is used,
> - 5%-7% when SHA1PRNG is used.
>
>



More information about the security-dev mailing list