Interface SM9EncMasterPrivateKey

All Superinterfaces:
AsymmetricKey, DEREncodablePREVIEW, Destroyable, Key, PrivateKey, Serializable, SM9EncUserKeyGenerator

public interface SM9EncMasterPrivateKey extends PrivateKey, SM9EncUserKeyGenerator
Interface for an SM9 (GM/T 0044) encryption master private key, the KGC-held root of the identity-based scheme. User key pairs are derived through the SM9EncUserKeyGenerator extraction method with an explicit hid - the one encryption master key serves KEM / public-key encryption (hid = 0x03) and key exchange (hid = 0x02), the KGC's published hid distinguishing them.
  • Method Details

    • generateExchangeKeyPair

      KeyPair generateExchangeKeyPair(byte[] identity)
      Generate the key-exchange key pair of the user identified by identity, under hid 0x02 - the exchange identifier the GM/T 0044.5 Chinese-edition worked example publishes. Exchange keys and KEM/decryption keys are distinct objects and the consumers mutually reject them.
      Parameters:
      identity - the user's identity.
      Returns:
      the user's key-exchange key pair.
    • generateExchangeKeyPair

      KeyPair generateExchangeKeyPair(byte[] identity, byte hid)
      Generate the key-exchange key pair of the user identified by identity under an explicit hid, for a KGC whose published exchange hid is not 0x02.
      Parameters:
      identity - the user's identity.
      hid - the private-key generation function identifier the KGC chose.
      Returns:
      the user's key-exchange key pair.