Package org.bouncycastle.crypto.params
Class SAKKEPrivateKeyParameters
- java.lang.Object
-
- org.bouncycastle.crypto.params.AsymmetricKeyParameter
-
- org.bouncycastle.crypto.params.SAKKEPrivateKeyParameters
-
- All Implemented Interfaces:
CipherParameters
public class SAKKEPrivateKeyParameters extends AsymmetricKeyParameter
Represents a private key for the Sakai-Kasahara Key Encryption (SAKKE) scheme, as defined in RFC 6508.SAKKE is an identity-based public key encryption scheme designed for one-pass key establishment. It is used in MIKEY-SAKKE for secure communication key distribution.
This class generates and manages a SAKKE private key, which consists of a randomly generated scalar
z. The corresponding public key is computed asZ = [z]P, wherePis a publicly known generator point on the elliptic curve.The private key is used to derive the master secret in the key exchange process.
-
-
Constructor Summary
Constructors Constructor Description SAKKEPrivateKeyParameters(java.math.BigInteger z, SAKKEPublicKeyParameters publicParams)Constructs a SAKKE private key with a given private value and associated public parameters.SAKKEPrivateKeyParameters(java.security.SecureRandom random)Generates a random SAKKE private key and its corresponding public key.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.math.BigIntegergetMasterSecret()Retrieves the private key scalar (master secret).SAKKEPublicKeyParametersgetPublicParams()Retrieves the public key parameters associated with this private key.-
Methods inherited from class org.bouncycastle.crypto.params.AsymmetricKeyParameter
isPrivate
-
-
-
-
Constructor Detail
-
SAKKEPrivateKeyParameters
public SAKKEPrivateKeyParameters(java.math.BigInteger z, SAKKEPublicKeyParameters publicParams)Constructs a SAKKE private key with a given private value and associated public parameters.- Parameters:
z- The private key scalar.publicParams- The associated public key parameters.
-
SAKKEPrivateKeyParameters
public SAKKEPrivateKeyParameters(java.security.SecureRandom random)
Generates a random SAKKE private key and its corresponding public key.The private key scalar
zis chosen randomly in the range [2, q-1], whereqis the order of the subgroup. The public key is computed asZ = [z]P, wherePis the public generator.- Parameters:
random- A cryptographic random number generator.
-
-
Method Detail
-
getPublicParams
public SAKKEPublicKeyParameters getPublicParams()
Retrieves the public key parameters associated with this private key.- Returns:
- The corresponding SAKKE public key parameters.
-
getMasterSecret
public java.math.BigInteger getMasterSecret()
Retrieves the private key scalar (master secret).- Returns:
- The private key scalar
z.
-
-