JSS 3.2

org.mozilla.jss.crypto
Class EncryptionAlgorithm

java.lang.Object
  |
  +--org.mozilla.jss.crypto.Algorithm
        |
        +--org.mozilla.jss.crypto.EncryptionAlgorithm

public class EncryptionAlgorithm
extends Algorithm

An algorithm for performing symmetric encryption.


Field Summary
static EncryptionAlgorithm AES_128_CBC
           
static EncryptionAlgorithm AES_128_ECB
           
static EncryptionAlgorithm AES_192_CBC
           
static EncryptionAlgorithm AES_192_ECB
           
static EncryptionAlgorithm AES_256_CBC
           
static EncryptionAlgorithm AES_256_ECB
           
static EncryptionAlgorithm AES_CBC_PAD
           
static OBJECT_IDENTIFIER AES_ROOT_OID
           
private  int blockSize
           
static EncryptionAlgorithm DES_CBC
           
static EncryptionAlgorithm DES_CBC_PAD
           
static EncryptionAlgorithm DES_ECB
           
static EncryptionAlgorithm DES3_CBC
           
static EncryptionAlgorithm DES3_CBC_PAD
           
static EncryptionAlgorithm DES3_ECB
           
private static java.util.Hashtable nameMap
           
private static java.util.Hashtable oidMap
           
private  boolean padded
           
static EncryptionAlgorithm RC2_CBC
           
static EncryptionAlgorithm RC4
           
 
Fields inherited from class org.mozilla.jss.crypto.Algorithm
ANSI_X9_ALGORITHM, CKM_AES_CBC, CKM_AES_CBC_PAD, CKM_AES_ECB, CKM_AES_KEY_GEN, CKM_DES_CBC_PAD, CKM_DES_KEY_GEN, CKM_DES3_CBC_PAD, CKM_DES3_ECB, CKM_DES3_KEY_GEN, CKM_DSA_KEY_PAIR_GEN, CKM_PBA_SHA1_WITH_SHA1_HMAC, CKM_RC4_KEY_GEN, CKM_RSA_PKCS_KEY_PAIR_GEN, CKM_SHA_1_HMAC, name, oid, oidIndex, SEC_OID_ANSIX9_DSA_SIGNATURE, SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST, SEC_OID_DES_CBC, SEC_OID_DES_ECB, SEC_OID_DES_EDE3_CBC, SEC_OID_MD2, SEC_OID_MD5, SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION, SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION, SEC_OID_PKCS1_RSA_ENCRYPTION, SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION, SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC2_CBC, SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC4, SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_3KEY_TRIPLE_DES_CBC, SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC, SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC4, SEC_OID_PKCS5_PBE_WITH_MD2_AND_DES_CBC, SEC_OID_PKCS5_PBE_WITH_MD5_AND_DES_CBC, SEC_OID_PKCS5_PBE_WITH_SHA1_AND_DES_CBC, SEC_OID_RC2_CBC, SEC_OID_RC4, SEC_OID_SHA1
 
Constructor Summary
protected EncryptionAlgorithm(int oidTag, java.lang.String name, java.lang.Class paramClass, int blockSize, boolean padded, OBJECT_IDENTIFIER oid)
           
 
Method Summary
static EncryptionAlgorithm fromOID(OBJECT_IDENTIFIER oid)
           
static EncryptionAlgorithm fromString(java.lang.String name)
           
 int getBlockSize()
          The blocksize of the algorithm in bytes.
 int getIVLength()
          Returns the number of bytes that this algorithm expects in its initialization vector.
 boolean isPadded()
          Returns true if this algorithm performs padding.
 
Methods inherited from class org.mozilla.jss.crypto.Algorithm
getParameterClass, toOID, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

blockSize

private int blockSize

padded

private boolean padded

oidMap

private static java.util.Hashtable oidMap

nameMap

private static java.util.Hashtable nameMap

RC4

public static final EncryptionAlgorithm RC4

DES_ECB

public static final EncryptionAlgorithm DES_ECB

DES_CBC

public static final EncryptionAlgorithm DES_CBC

DES_CBC_PAD

public static final EncryptionAlgorithm DES_CBC_PAD

DES3_ECB

public static final EncryptionAlgorithm DES3_ECB

DES3_CBC

public static final EncryptionAlgorithm DES3_CBC

DES3_CBC_PAD

public static final EncryptionAlgorithm DES3_CBC_PAD

RC2_CBC

public static final EncryptionAlgorithm RC2_CBC

AES_ROOT_OID

public static final OBJECT_IDENTIFIER AES_ROOT_OID

AES_128_ECB

public static final EncryptionAlgorithm AES_128_ECB

AES_128_CBC

public static final EncryptionAlgorithm AES_128_CBC

AES_192_ECB

public static final EncryptionAlgorithm AES_192_ECB

AES_192_CBC

public static final EncryptionAlgorithm AES_192_CBC

AES_256_ECB

public static final EncryptionAlgorithm AES_256_ECB

AES_256_CBC

public static final EncryptionAlgorithm AES_256_CBC

AES_CBC_PAD

public static final EncryptionAlgorithm AES_CBC_PAD
Constructor Detail

EncryptionAlgorithm

protected EncryptionAlgorithm(int oidTag,
                              java.lang.String name,
                              java.lang.Class paramClass,
                              int blockSize,
                              boolean padded,
                              OBJECT_IDENTIFIER oid)
Method Detail

fromOID

public static EncryptionAlgorithm fromOID(OBJECT_IDENTIFIER oid)
                                   throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException

fromString

public static EncryptionAlgorithm fromString(java.lang.String name)
                                      throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException

getBlockSize

public int getBlockSize()
The blocksize of the algorithm in bytes. Stream algorithms (such as RC4) have a blocksize of 1.


isPadded

public boolean isPadded()
Returns true if this algorithm performs padding.


getIVLength

public int getIVLength()
Returns the number of bytes that this algorithm expects in its initialization vector.

Returns:
The size in bytes of the IV for this algorithm. A size of 0 means this algorithm does not take an IV.

JSS 3.2