Class BaseCipher
java.lang.Object
org.apache.sshd.common.cipher.BaseCipher
- All Implemented Interfaces:
AlgorithmNameProvider, Cipher, CipherInformation, KeySizeIndicator
- Direct Known Subclasses:
BaseCBCCipher, BaseCTRCipher, BaseGCMCipher, BaseRC4Cipher
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface Cipher
Cipher.Mode -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final String(package private) static booleanprivate final intprivate final intprivate Cipher(package private) static BaseCipher.CipherFactoryprivate final intprivate final intprivate final intprotected Cipher.Modeprivate Stringprivate SecretKeyprivate final String -
Constructor Summary
ConstructorsConstructorDescriptionBaseCipher(int ivsize, int authSize, int kdfSize, String algorithm, int keySize, String transformation, int blkSize) -
Method Summary
Modifier and TypeMethodDescriptionprotected CiphercreateCipherInstance(Cipher.Mode mode, byte[] key, byte[] iv) protected AlgorithmParameterSpecdetermineNewParameters(byte[] processed, int offset, int length) intintprotected Cipherintintintvoidinit(Cipher.Mode mode, byte[] key, byte[] iv) Initialize the cipher for encryption or decryption with the given key and initialization vectorprotected byte[]initializeIVData(Cipher.Mode mode, byte[] iv, int reqLen) protected byte[]initializeKeyData(Cipher.Mode mode, byte[] key, int reqLen) protected voidreInit(byte[] processed, int offset, int length) protected static byte[]resize(byte[] data, int size) toString()voidupdate(byte[] input, int inputOffset, int inputLen) Performs in-place encryption or decryption on the given data.voidupdateAAD(byte[] data, int offset, int length) Adds the provided input data as additional authenticated data during encryption or decryption.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Cipher
update, updateAAD, updateWithAAD
-
Field Details
-
factory
-
alwaysReInit
static boolean alwaysReInit -
mode
-
cipher
-
ivsize
private final int ivsize -
authSize
private final int authSize -
kdfSize
private final int kdfSize -
algorithm
-
keySize
private final int keySize -
blkSize
private final int blkSize -
transformation
-
s
-
secretKey
-
-
Constructor Details
-
BaseCipher
-
-
Method Details
-
getAlgorithm
- Specified by:
getAlgorithmin interfaceAlgorithmNameProvider
-
getKeySize
public int getKeySize()- Specified by:
getKeySizein interfaceKeySizeIndicator- Returns:
- The number of bits used in the key
-
getTransformation
- Specified by:
getTransformationin interfaceCipherInformation- Returns:
- The actual transformation used - e.g., AES/CBC/NoPadding
-
getIVSize
public int getIVSize()- Specified by:
getIVSizein interfaceCipherInformation- Returns:
- Size of the initialization vector (in bytes)
-
getAuthenticationTagSize
public int getAuthenticationTagSize()- Specified by:
getAuthenticationTagSizein interfaceCipherInformation- Returns:
- Size of the authentication tag (AT) in bytes or 0 if this cipher does not support authentication
-
getKdfSize
public int getKdfSize()- Specified by:
getKdfSizein interfaceCipherInformation- Returns:
- The block size (in bytes) used to derive the secret key for this cipher
-
getCipherBlockSize
public int getCipherBlockSize()- Specified by:
getCipherBlockSizein interfaceCipherInformation- Returns:
- Size of block data used by the cipher (in bytes). For stream ciphers this value is (currently) used to indicate some average work buffer size to be used for the automatic re-keying mechanism described in RFC 4253 - Section 9
-
init
Description copied from interface:CipherInitialize the cipher for encryption or decryption with the given key and initialization vector -
getCipherInstance
-
createCipherInstance
- Throws:
Exception
-
initializeKeyData
-
initializeIVData
-
update
Description copied from interface:CipherPerforms in-place encryption or decryption on the given data. -
reInit
protected void reInit(byte[] processed, int offset, int length) throws InvalidKeyException, InvalidAlgorithmParameterException -
determineNewParameters
-
updateAAD
Description copied from interface:CipherAdds the provided input data as additional authenticated data during encryption or decryption. -
resize
protected static byte[] resize(byte[] data, int size) -
toString
-