For the latest news and information visit The GNU Crypto project

## gnu.crypto.mode
Class ModeFactory

    java.lang.Object
      |
      +--gnu.crypto.mode.ModeFactory

All Implemented Interfaces:
  Registry

public class ModeFactory
extends java.lang.Object
implements Registry

A Factory to instantiate block cipher modes of operations.

Field Summary

Fields inherited from interface gnu.crypto.Registry

`AES_CIPHER, ANUBIS_CIPHER, ARCFOUR_PRNG, BLOWFISH_CIPHER, CAST_128_CIPHER, CAST128_CIPHER, CAST5_CIPHER, CBC_MODE, CFB_MODE, CTR_MODE, DES_CIPHER, DESEDE_CIPHER, DH_KA, DH_KPG, DSA_KPG, DSA_SIG, DSS_KPG, DSS_SIG, ECB_MODE, ELGAMAL_KA, EME_PKCS1_V1_5_PAD, GKR_CERTIFICATES, GKR_CIPHER_AES_128_CBC, GKR_CIPHER_AES_128_OFB, GKR_HMAC_MD5_128, GKR_HMAC_MD5_96, GKR_HMAC_SHA_160, GKR_HMAC_SHA_96, GKR_MAGIC, GKR_PRIVATE_KEYS, GKR_PUBLIC_CREDENTIALS, GNU_CRYPTO, HAVAL_HASH, HMAC_NAME_PREFIX, ICM_MODE, ICM_PRNG, KHAZAD_CIPHER, MAGIC_RAW_DH_PRIVATE_KEY, MAGIC_RAW_DH_PUBLIC_KEY, MAGIC_RAW_DSS_PRIVATE_KEY, MAGIC_RAW_DSS_PUBLIC_KEY, MAGIC_RAW_DSS_SIGNATURE, MAGIC_RAW_RSA_PRIVATE_KEY, MAGIC_RAW_RSA_PSS_SIGNATURE, MAGIC_RAW_RSA_PUBLIC_KEY, MAGIC_RAW_SRP_PRIVATE_KEY, MAGIC_RAW_SRP_PUBLIC_KEY, MD_PRNG, MD2_HASH, MD4_HASH, MD5_HASH, NULL_CIPHER, OFB_MODE, PBKDF2_PRNG_PREFIX, PKCS7_PAD, QOP_AUTH, QOP_AUTH_CONF, QOP_AUTH_INT, RAW_ENCODING, RAW_ENCODING_ID, RC4_PRNG, REUSE_FALSE, REUSE_TRUE, RIJNDAEL_CIPHER, RIPEMD_128_HASH, RIPEMD_160_HASH, RIPEMD128_HASH, RIPEMD160_HASH, RSA_KPG, RSA_PKCS1_V1_5_SIG, RSA_PSS_SIG, SASL_ANONYMOUS_MECHANISM, SASL_AUTH_INFO_PROVIDER_PKGS, SASL_AUTHORISATION_ID, SASL_BUFFER_MAX_LIMIT, SASL_CALLBACK_HANDLER, SASL_CHANNEL_BINDING, SASL_CRAM_MD5_MECHANISM, SASL_FOUR_BYTE_MAX_LIMIT, SASL_HMAC_MD5_IALG, SASL_HMAC_SHA_IALG, SASL_ONE_BYTE_MAX_LIMIT, SASL_PASSWORD, SASL_PLAIN_MECHANISM, SASL_PREFIX, SASL_PROTOCOL, SASL_SERVER_NAME, SASL_SRP_MECHANISM, SASL_TWO_BYTE_MAX_LIMIT, SASL_USERNAME, SERPENT_CIPHER, SERVER_AUTH_FALSE, SERVER_AUTH_TRUE, SHA_1_HASH, SHA_HASH, SHA1_HASH, SHA160_HASH, SHA256_HASH, SHA384_HASH, SHA512_HASH, SQUARE_CIPHER, SRP_KPG, SRP_SASL_KA, SRP_TLS_KA, SRP6_KA, STRENGTH_HIGH, STRENGTH_LOW, STRENGTH_MEDIUM, TBC_PAD, TIGER_HASH, TMMH16, TRIPLEDES_CIPHER, TWOFISH_CIPHER, UHASH32, UMAC_PRNG, UMAC32, WHIRLPOOL_HASH`

Method Summary
`static IMode` `getInstance(java.lang.String mode, IBlockCipher cipher, int cipherBlockSize)`
`static IMode` `getInstance(java.lang.String mode, java.lang.String cipher, int cipherBlockSize)` Returns an instance of a block cipher mode of operations given its name and characteristics of the underlying block cipher.
`static java.util.Set` `getNames()` Returns a `Set` of names of mode supported by this Factory.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### getInstance

    public static IMode getInstance(java.lang.String mode,
                                    java.lang.String cipher,
                                    int cipherBlockSize)

  Returns an instance of a block cipher mode of operations given its name and characteristics of the underlying block cipher.

  Parameters:
    `mode` - the case-insensitive name of the mode of operations.
    `cipher` - the case-insensitive name of the block cipher.
    `cipherBlockSize` - the block size, in bytes, of the underlying cipher.
  Returns:
    an instance of the block cipher algorithm, operating in a given mode of operations, or `null` if none found.
  Throws:
    `java.lang.InternalError` - if either the mode or the underlying block cipher implementation does not pass its self-test.

### getInstance

    public static IMode getInstance(java.lang.String mode,
                                    IBlockCipher cipher,
                                    int cipherBlockSize)

### getNames

    public static final java.util.Set getNames()

  Returns a `Set` of names of mode supported by this Factory.

  Returns:
    a `Set` of mode names (Strings).

For the latest news and information visit The GNU Crypto project

Copyright © 2001, 2002, 2003, 2004 Free Software Foundation, Inc.