Package javacard.security
Interface DHKey
-
- All Known Subinterfaces:
DHPrivateKey
,DHPublicKey
public interface DHKey
TheDHKey
interface is the base interface for the DH algorithm's private and public key implementations. A DH private key implementation must also implement theDHPrivateKey
interface methods. A DH public key implementation must also implement theDHPublicKey
interface methods.Component Q is an optional key component. When the other 3 components of the key (X or Y, P, G) are set, the key is initialized and ready for use.
- See Also:
DHPublicKey
,DHPrivateKey
,KeyBuilder
,Signature
,javacardx.crypto.KeyEncryption
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description short
getG(byte[] buffer, short offset)
Returns the base parameter value of the key in plain text.short
getP(byte[] buffer, short offset)
Returns the prime parameter value of the key in plain text.short
getQ(byte[] buffer, short offset)
Returns the subprime parameter value of the key in plain text.void
setG(byte[] buffer, short offset, short length)
Sets the base parameter value of the key.void
setP(byte[] buffer, short offset, short length)
Sets the prime parameter value of the key.void
setQ(byte[] buffer, short offset, short length)
Sets the optional subprime parameter value of the key.
-
-
-
Method Detail
-
setP
void setP(byte[] buffer, short offset, short length) throws CryptoException
Sets the prime parameter value of the key. The plain text data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte). Input prime parameter data is copied into the internal representation. The value of P limits the value of the public value Y.Note:
- If the key object implements the
javacardx.crypto.KeyEncryption
interface and theCipher
object specified viasetKeyCipher()
is notnull
, the prime parameter value is decrypted using theCipher
object.
- Parameters:
buffer
- the input bufferoffset
- the offset into the input buffer at which the prime parameter value beginslength
- the length of the prime parameter value- Throws:
CryptoException
- with the following reason code:CryptoException.ILLEGAL_VALUE
if the input parameter data length is inconsistent with the implementation or if input data decryption is required and fails.
- If the key object implements the
-
setQ
void setQ(byte[] buffer, short offset, short length) throws CryptoException
Sets the optional subprime parameter value of the key. The plain text data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte). Input subprime parameter data is copied into the internal representation. The value of Q limits the value of the private value X.Note:
- If the key object implements the
javacardx.crypto.KeyEncryption
interface and theCipher
object specified viasetKeyCipher()
is notnull
, the subprime parameter value is decrypted using theCipher
object.
- Parameters:
buffer
- the input bufferoffset
- the offset into the input buffer at which the subprime parameter value beginslength
- the length of the subprime parameter value- Throws:
CryptoException
- with the following reason code:CryptoException.ILLEGAL_VALUE
if the input parameter data length is inconsistent with the implementation or if input data decryption is required and fails.
- If the key object implements the
-
setG
void setG(byte[] buffer, short offset, short length) throws CryptoException
Sets the base parameter value of the key. The plain text data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte). Input base parameter data is copied into the internal representation.Note:
- If the key object implements the
javacardx.crypto.KeyEncryption
interface and theCipher
object specified viasetKeyCipher()
is notnull
, the base parameter value is decrypted using theCipher
object.
- Parameters:
buffer
- the input bufferoffset
- the offset into the input buffer at which the base parameter value beginslength
- the length of the base parameter value- Throws:
CryptoException
- with the following reason code:CryptoException.ILLEGAL_VALUE
if the input parameter data length is inconsistent with the implementation or if input data decryption is required and fails.
- If the key object implements the
-
getP
short getP(byte[] buffer, short offset)
Returns the prime parameter value of the key in plain text. The data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte).- Parameters:
buffer
- the output bufferoffset
- the offset into the output buffer at which the prime parameter value starts- Returns:
- the byte length of the prime parameter value returned
- Throws:
CryptoException
- with the following reason code:CryptoException.UNINITIALIZED_KEY
if the prime parameter has not been successfully initialized since the time the initialized state of the key was set to false.
- See Also:
Key
-
getQ
short getQ(byte[] buffer, short offset)
Returns the subprime parameter value of the key in plain text. The data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte). The value of q limits the size of the private value X.- Parameters:
buffer
- the output bufferoffset
- the offset into the output buffer at which the subprime parameter value begins- Returns:
- the byte length of the subprime parameter value returned
- Throws:
CryptoException
- with the following reason code:CryptoException.UNINITIALIZED_KEY
if the subprime parameter has not been successfully initialized since the time the initialized state of the key was set to false.
- See Also:
Key
-
getG
short getG(byte[] buffer, short offset)
Returns the base parameter value of the key in plain text. The data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte).- Parameters:
buffer
- the output bufferoffset
- the offset into the output buffer at which the base parameter value begins- Returns:
- the byte length of the base parameter value returned
- Throws:
CryptoException
- with the following reason code:CryptoException.UNINITIALIZED_KEY
if the base parameter has not been successfully initialized since the time the initialized state of the key was set to false.
- See Also:
Key
-
-