# Standard Names

The standard names that can be used when importing from the JCSI Provider package are specified below

# AlgorithmParameterGenerator

> The following algorithm names can be specified when requesting an instance of `AlgorithmParameterGenerator` :

> - DH, Diffie-Hellman
> - DSA

# AlgorithmParameters

> The following algorithm names can be specified when requesting an instance of `AlgorithmParameters` :

> - DESede/CBC
> - DSA
> - DH, Diffie-Hellman
> - PBEwithMD5andDES-CBC
> - PBEwithSHAand3-KeyTripleDES-CBC
> - PBEwithSHAand128BitRC2-CBC
> - PBEwithSHAand128BitRC4
> - PBEwithSHAand40BitRC2-CBC
> - PBEwithSHAand40BitRC4
> - RC2/CBC

# CertificateFactory

> The following names can be specified when requesting an instance of `CertificateFactory` :

> - X509, X.509

# Cipher

> ### Algorithm

> > - Blowfish Block cipher designed at Counterpane Labs
> > - DES : The Digital Encryption Standard as described in FIPS PUB 46-2
> > - DESede : Triple DES
> > - IDEA : IDEATM (International Data Encryption Algorithm) produced by IT_Security AG
> > - PBEwithMD5andDES-CBC : Password Based Encryption as defined in RSA Laboratories, "PKCS #5: Password-Based Encryption Standard," version 2.0, Mar. 1999
> > - PBEwithSHAand3-KeyTripleDES-CBC
> > - PBEwithSHAand40BitRC2-CBC
> > - PBEwithSHAand40BitRC4
> > - PBEwithSHAand128BitRC2-CBC
> > - PBEwithSHAand128BitRC4
> > - RC2 See RFC 2268
> > - RC4 (No padding necessary)
> > - RC5 See RFC 2040
> > - RSA

> ### Mode

> > - ECB Electronic Codebook Mode (see DES Modes of Operation : FIPS PUB 81)
> > - CBC Cipher Block Chaining Mode
> > - CFB Cipher FeedBack Mode

> > Note: Output FeedBack Mode (OFB) is not supported.

> ### Padding

> > - NoPadding
> > - PKCS5
> > - PKCS1
> > - Zeroes

# KeyAgreement

> The following algorithm names can be specified when requesting an instance of `KeyAgreement` :

> - Diffie-Hellman, DH: Diffie-Hellman Key Agreement (and multi-party generalization thereof) as defined in RSA Laboratories, "PKCS #3: Diffie-Hellman Key Agreement Standard," version 1.4
> - ESDH : Diffie-Hellman Ephemeral-Static - Key Agreement based on ANSI X9.42 draft RFC 2631

# KeyFactory

> The following algorithm names can be specified when requesting an instance of `KeyFactory` :

> - DH, Diffie-Hellman
> - DSA
> - RSA

# KeyGenerator

> The following algorithm names can be specified when requesting an instance of `KeyGenerator` :

> - Blowfish
> - DES
> - DESede
> - IDEA
> - RC2
> - RC4
> - RC5

# KeyPairGenerator

> The following algorithm names can be specified when requesting an instance of `KeyPairGenerator` :

> - DH, Diffie-Hellman
> - DSA, OID:1.2.840.10040.4.1
> - RSA

# KeyStore

> The following names can be specified when requesting an instance of `KeyStore` :

> - PKCS12

# MAC algorithms

> The following names can be specified when requesting an instance of `MAC` :

> - DES-MAC
> - HMACwithMD5
> - HMACwithRIPEMD160
> - HMACwithSHA1

# MessageDigest algorithms

> The following algorithm names can be specified when requesting an instance of `MessageDigest` :

> - MD2 See RFC 1319
> - MD4 See RFC 1320
> - MD5 : See RFC 1321
> - RIPEMD-160 See this page
> - SHA, SHA-1, SHA1 See FIPS 180-1

# SecretKeyFactory

> The following algorithm names can be specified when requesting an instance of `SecretKeyFactory` :

> - Blowfish
> - DES
> - DESede
> - IDEA
> - PBEwithMD5andDES-CBC
> - PBEwithSHAand3-KeyTripleDES-CBC
> - PBEwithSHAand128BitRC2-CBC
> - PBEwithSHAand128BitRC4
> - PBEwithSHAand40BitRC2-CBC
> - PBEwithSHAand40BitRC4
> - RC2
> - RC4
> - RC5

# Signature

> The following names can be specified when requesting an instance of `Signature` :

> - DSA, DSS, SHA/DSA, SHA-1/DSA, SHA1withDSA, SHA-1withDSA, OID:1.2.840.10040.4.3 Digital Signature Standard based on FIPS 186. Implements DSA with SHA-1 hashing.
> - MD2/RSA, MD2withRSA : Implements RSA signature algorithm with MD2 hashing.
> - MD5/RSA, MD5withRSA : Implements RSA signature algorithm with MD5 hashing.
> - RawDSA : Implements DSA without hashing.
> - RawRSA : Implements RSA signature algorithm without hashing.
> - RIPEMD-160/RSA, RIPEMD-160withRSA, RIPEMD160withRSA : Implements RSA signature algorithm with RIPEMD160 hashing.
> - SHA/RSA, SHA1/RSA, SHA-1/RSA, SHA-1withRSA, SHA1withRSA : Implements RSA signature algorithm with SHA-1 hashing.

# Default Parameters and Key Lengths

The DSTC provider uses the following default parameters:

> # KeyGenerator

> > - Blowfish : 128 bits
> > - DES : 64 bits
> > - DESede : 192 bits
> > - IDEA : 128 bits
> > - RC2 : 64 bits
> > - RC4 : 128 bits
> > - RC5 : 64 bits

> # KeyPairGenerator

> > - Diffie-Hellman :
> >   - Private Key - 1024 bits
> >   - Public Key - 1024 bits
> >   - Modulus: 1024 bits
> > - DSA :
> >   - Private Key - 160 bits
> >   - Public Key - 1024 bits
> >   - Modulus: 1024 bits
> > - RSA :
> >   - Keylength (modulus): 1024 bits
> >   - Private Exponent: 65537