JavaSecurity Algorithm Naming
Algorithm Names in JavaSecurity
Draft 0.5 -- Last updated September 20 1996
Introduction
To support algorithm independence, JavaSecurity defines a set of
standard algorithm names which map onto well-defined implementations
of standard algorithms. Implementors of algorithms should use the
standard names whenever they are defined, and should only define new
ones when none exist for the algorithm.
Some of the naming conventions are:
- Names are that of algorithms as defined in standards, not of
standards themselves (i.e. DSA not DSS).
- Names should be initials as much as possible (i.e. SHA, not Secure
Hash Algorithm)
- Names are unicode names, and should be capitalized.
- Names should be kept as short as possible.
Algorithm Names
- SHA
- Secure Hash Algorithm, as defined in NIST's Secure Hash Standard
document, fip-180-1.
- DSA
- Digital Signature Algorithm, as defined in NIST's Digital
Signature Standard document, fip-186. DSA by itself means SHAwithDSA,
that is, DSA with SHA-1. raw DSA is defined as Raw DSA.
- RSA
- Rivest, Shamir and Adleman public key system. RSA Encryption as
define in RSA Laboratory Technical Note PKCS#1.
- MD5
- RSA-MD5, as defined by RSA DSI in RFC 1321.
- MD2
- RSA-MD2, as defined by RSA DSI in RFC 1423.
Composite names, built from a asymmetric transformation and a
message digest, should be linked with a lower case with, hash
algorithm first:
- SHAwithDSA
- MD5withDSA
- MD5withRSA
- MD2withRSA
- SHAwithRSA
- etc.
[Add bulk encryption algorithm later]