Even if the names are specified in a standard, then they are often not used. See e.g. the RSA algorithm names in PKCS#1 v2.x or the cipher suites with OpenSSL specific names next to the ones in the RFC. There are also naming conventions in various programming languages. Basically, the answer is no.
Probably the closest you can come is the OID scheme that is used for more common algorithms. See for instance this page where the various SHA hash algorithms are listed by OID. Similarly, there are OID's for RSA as well. However, the OID registry is far from complete, and it may contain duplicates.
Note too that OID's are generally used within ASN.1 AlgorithmIdentifier, see the definition below:
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL
}
Here the OBJECT IDENTIFIER
is where the OID is placed. Although many algorithms have NULL
as parameters, others will have a set of configuration parameters. This is why there isn't a hash-specific RSA OID mentioned in the list shown before.
Note that the OID registry is hierarchical. So an organization such as NIST can use their own registry (e.g. the CSOR for the SHA-1 hash algorithms) to indicate a standardized algorithm.
Some libraries and frameworks such as Java JCA have an aliasing scheme where algorithms can be retrieved both by name and by OID. Many other cryptographic libraries only work with algorithms by name though. If libraries support OID's then they normally use the "dot notation" rather than the full notation (e.g. 1.2.840.113549.1.1.11
rather than the full OID {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-1(1) sha256WithRSAEncryption(11)}
).