Laboratories has released new versions of PKCS #1 that are not vulnerable to these attacks. A variant of this attack, dubbed "BERserk", came back in 2014. It impacted the Mozilla NSS Crypto Library, which was used notably by Firefox and Chrome. Side-channel analysis attacks A side-channel attack using branch-prediction analysis (BPA) has been described. Many processors use a branch predictor to determine whether a conditional branch in the instruction flow of a program is likely to be taken or not. Often these processors also implement simultaneous multithreading (SMT). Branch-prediction analysis attacks use a spy process to discover (statistically) the private key when processed with these processors. Simple Branch Prediction Analysis (SBPA) claims to improve BPA in a non-statistical way. In their paper, "On the Power of Simple Branch Prediction Analysis", the authors of SBPA (Onur Aciicmez and Cetin Kaya Koc) claim to have discovered 508 out of 512 bits of an RSA key in 10 iterations. A power-fault attack on RSA implementations was described in 2010. The author recovered the key by varying the CPU power voltage outside limits; this caused multiple power faults on the server. Tricky implementation There are many details to keep in mind in order to implement RSA securely (strong PRNG, acceptable public exponent...) . This makes the implementation challenging, to the point the book Practical Cryptography With Go suggests avoiding RSA if possible. Implementations Some cryptography libraries that provide support for RSA include: Botan Bouncy Castle cryptlib Crypto++ Libgcrypt Nettle OpenSSL wolfCrypt GnuTLS mbed TLS LibreSSL See also Acoustic cryptanalysis Computational complexity theory Key size Diffie–Hellman key exchange Key exchange Key management Elliptic-curve cryptography Public-key cryptography Trapdoor function References Further reading External links The Original RSA Patent as filed with the U.S. Patent Office by Rivest; Ronald L. (Belmont, MA), Shamir; Adi (Cambridge, MA), Adleman; Leonard M. (Arlington, MA), December 14, 1977, . PKCS #1: RSA Cryptography Standard (RSA Laboratories website) The PKCS #1 standard "provides recommendations for the implementation of public-key cryptography based on the RSA algorithm, covering the following aspects: cryptographic primitives; encryption schemes; signature schemes with appendix; ASN.1 syntax for representing keys and for identifying the schemes". Thorough walk through of RSA Prime Number Hide-And-Seek: How the RSA Cipher Works Onur Aciicmez, Cetin Kaya Koc, Jean-Pierre Seifert: On the Power of Simple Branch Prediction Analysis Example of an RSA implementation with PKCS#1 padding (GPL source code) Kocher's article about timing attacks An