Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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 . The corresponding public key is computed as , where is a publicly known generator point on the elliptic curve.

The private key is used to derive the master secret in the key exchange process.

See Also:
  RFC 6508: Sakai-Kasahara Key Encryption (SAKKE)

Constructor Summary
`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
`java.math.BigInteger` | `getMasterSecret()` Retrieves the private key scalar (master secret).
`SAKKEPublicKeyParameters` | `getPublicParams()` Retrieves the public key parameters associated with this private key.

Methods inherited from class org.bouncycastle.crypto.params.AsymmetricKeyParameter
`isPrivate`

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

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 is chosen randomly in the range [2, q-1], where is the order of the subgroup. The public key is computed as , where is 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 .

Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD