RSA : Java Glossary
©1996-2017 Roedy Green of Canadian Mind Products
RSA (Rivest, Shamir and Adelman)
A pioneering company in digital signatures. The RSA
algorithm is based on the fact that there is no efficient way to factor very large
numbers. Their basic digital signing and encryption patent has expired. I was thus
able to use the RSA encryption technique in custom software I write that
sends credit card information over the Internet and email. RSA
is mainly known for SMIME email encryption software. They no longer issue digital
certificates. RSA-signed Applets often refer to the old proprietary Netscape
jar-signing scheme. It has been replaced by the Sun-style DSA (Digital Signature Algorithm)
-signed Applets in Java 1.2. Sun-style RSA-signed
Applets were introduced in Java version 1.3 and have now largely
replaced the DSA scheme.
Public/private keys have many applications including:
- Encryption without the need for pre-distributing a shared secret, e. g. to
allow the general public to safely send credit card information over the
- Digitally signing documents and code to prove authorship.
- Timestamping a document to legally prove it existed on a certain date and was
signed on that date.
- Electronic id cards where a signing authority vouches for information about the
- Code signing where a signing authority vouches for information about the
authorship of a piece of code. This requires only a generic public certificate from
the signing authority for validating.
- Code signing to detect tampering with code.
- Electronic funds transfer.
- Automated passwords using challenge phrases to be encrypted with private keys
RSA Encryption with JCE (Java Cryptography Extension)
Requires sender to know public key of receiver and receiver requires the
corresponding private key.