|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.motorola.iden.crypto.CipherSpi | +--com.motorola.iden.provider.RC5
This class specifies the parameters used with the RC5 algorithm.
The parameters consist of a version number, a rounds count, a word size, and optionally an initialization vector (IV) (only in feedback mode).
This class can be used to initialize a Cipher
object that
implements the RC5 algorithm as supplied by
RSA Data Security, Inc. (RSA DSI),
or any parties authorized by RSA DSI.
[CipherSpi]
Constructor Summary | |
RC5()
|
Method Summary | |
protected byte[] |
engineDoFinal(byte[] input,
int inputOffset,
int inputLen)
Encrypts or decrypts data in a single-part operation, or finishes a multiple-part operation. |
protected int |
engineGetBlockSize()
Gets the bloksize of the cipher. |
protected byte[] |
engineGetIV()
Gets the bloksize of the cipher. |
protected void |
engineInit(int opmode,
Key key,
AlgorithmParameterSpec params,
SecureRandom random)
Initializes this cipher with a key, a set of algorithm parameters, and a source of random. |
protected void |
engineSetMode(java.lang.String mode)
Sets the mode of the cipher(ECB,CBC,CFB or OFB). |
protected void |
engineSetPadding(java.lang.String padding)
Sets the Padding of the cipher. |
protected byte[] |
engineUpdate(byte[] input,
int inputOffset,
int inputLen)
Continues a multiple-part encryption or decryption operation (depending on how this cipher was initialized), processing another data part. |
protected void |
finalize()
|
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public RC5()
Method Detail |
protected void engineSetMode(java.lang.String mode) throws NoSuchAlgorithmException
engineSetMode
in class CipherSpi
String
- mode. Mode ECB is set defaultly when parameter mode is null.NoSuchAlgorithmException
- if the requested mode mechanism
does not existprotected void engineSetPadding(java.lang.String padding) throws NoSuchPaddingException
engineSetPadding
in class CipherSpi
String
- padding. PKCS5Padding is set defaultly when parameter padding is null.NoSuchPaddingException
- if the requested padding mechanism
does not existprotected int engineGetBlockSize()
engineGetBlockSize
in class CipherSpi
viod.
- protected byte[] engineGetIV()
engineGetIV
in class CipherSpi
viod.
- protected void engineInit(int opmode, Key key, AlgorithmParameterSpec params, SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException
The cipher is initialized for one of the following four operations:
encryption, decryption, key wrapping or key unwrapping, depending on
the value of opmode
.
If this cipher requires any algorithm parameters and
params
is null, the underlying cipher implementation is
supposed to generate the required parameters itself (using
provider-specific default or random values) if it is being
initialized for encryption or key wrapping, and raise an
InvalidAlgorithmParameterException
if it is being
initialized for decryption or key unwrapping.
The generated parameters can be retrieved using
engineGetIV
(if the parameter is an IV).
If this cipher (including its underlying feedback or padding scheme)
requires any random bytes (e.g., for parameter generation), it will get
them from random
.
Note that when a Cipher object is initialized, it loses all previously-acquired state. In other words, initializing a Cipher is equivalent to creating a new instance of that Cipher and initializing it.
engineInit
in class CipherSpi
opmode
- the operation mode of this cipher (this is one of
the following:
ENCRYPT_MODE
, DECRYPT_MODE
,key
- the encryption keyparams
- the algorithm parametersrandom
- the source of randomnessInvalidKeyException
- if the given key is inappropriate for
initializing this cipherInvalidAlgorithmParameterException
- if the given algorithm
parameters are inappropriate for this cipher,
or if this cipher is being initialized for decryption and requires
algorithm parameters and params
is null.protected byte[] engineUpdate(byte[] input, int inputOffset, int inputLen)
inputLen
bytes in the input
buffer, starting at inputOffset
inclusive, are processed,
and the result is stored in a new buffer.engineUpdate
in class CipherSpi
input
- the input bufferinputOffset
- the offset in input
where the input
startsinputLen
- the input lengthprotected byte[] engineDoFinal(byte[] input, int inputOffset, int inputLen) throws IllegalBlockSizeException, BadPaddingException
The first inputLen
bytes in the input
buffer, starting at inputOffset
inclusive, and any input
bytes that may have been buffered during a previous update
operation, are processed, with padding (if requested) being applied.
The result is stored in a new buffer.
A call to this method resets this cipher object to the state
it was in when previously initialized via a call to
engineInit
.
That is, the object is reset and available to encrypt or decrypt
(depending on the operation mode that was specified in the call to
engineInit
) more data.
engineDoFinal
in class CipherSpi
input
- the input bufferinputOffset
- the offset in input
where the input
startsinputLen
- the input lengthIllegalBlockSizeException
- if this cipher is a block cipher,
no padding has been requested (only in encryption mode), and the total
input length of the data processed by this cipher is not a multiple of
block sizeBadPaddingException
- if this cipher is in decryption mode,
and (un)padding has been requested, but the decrypted data is not
bounded by the appropriate padding bytesprotected void finalize()
finalize
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |