Leveraging CPU instructions for GHASH and RSA
The self-descriptive title of Java Enhancement Proposal (JEP) 246, Leverage CPU Instructions for GHASH and RSA, provides great insight into its goal. The point of this JEP was to improve the performance of cryptographic operations, specifically GHASH and RSA. The performance improvement has been achieved in Java 9 by leveraging the newest SPARC and Intel x64 CPU instructions.
This enhancement did not require new or modified APIs as part of the Java 9 platform.
Hashing
Galois HASH (GHASH) and Rivest-Shamir-Adleman (RSA) are crypto systems hashing algorithms. Hashes are a fixed length string or number generated from a string of text. Algorithms, specifically hashing algorithms, are devised so that the resultant hashes cannot be reverse engineered. We use hashing to store passwords that are generated with a salt.
Note
Salts, in cryptology, are random data used as an input to a hashing function to generate a password. Salts help protect against rainbow...