Interface SM9EncUserKeyGenerator
- All Known Subinterfaces:
SM9EncMasterPrivateKey
public interface SM9EncUserKeyGenerator
A master private key capable of the KGC user-key extraction for an
identity-based encryption-family scheme: deriving a user's key pair from the
user's identity and the private-key generation function identifier hid the
KGC chose (GM/T 0044.3/0044.4-2016 for SM9, where one encryption master key
serves key exchange, KEM and public-key encryption, distinguished by hid).
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final byteThe encryption private-key generation function identifier hid, 0x03 - the value the GM/T 0044.5-2016 Annex C/D worked examples publish for KEM and public-key encryption.static final byteThe key-exchange private-key generation function identifier hid, 0x02, as published by the Chinese edition of the GM/T 0044.5-2016 Annex B worked example (the official English edition of the same annex chose 0x03 - the KGC's published choice governs). -
Method Summary
Modifier and TypeMethodDescriptiongenerateUserKeyPair(byte[] identity, byte hid) Generate the key pair of the user identified byidentityunder the given hid.
-
Field Details
-
HID
static final byte HIDThe encryption private-key generation function identifier hid, 0x03 - the value the GM/T 0044.5-2016 Annex C/D worked examples publish for KEM and public-key encryption. hid is not fixed by the standard: GM/T 0044.3-2016 defines it as the "identifier of the encryption private key generating function, denoted by one byte", chosen and published by the KGC. These are the two values the published GM/T 0044 examples use.- See Also:
-
HID_EXCHANGE
static final byte HID_EXCHANGEThe key-exchange private-key generation function identifier hid, 0x02, as published by the Chinese edition of the GM/T 0044.5-2016 Annex B worked example (the official English edition of the same annex chose 0x03 - the KGC's published choice governs).- See Also:
-
-
Method Details
-
generateUserKeyPair
Generate the key pair of the user identified byidentityunder the given hid. This derivation is a KGC operation and is deterministic - the same master key, identity and hid always yield the same pair.- Parameters:
identity- the user's identity.hid- the private-key generation function identifier the KGC chose:0x03for KEM / public-key encryption,0x02for key exchange.- Returns:
- the user's key pair.
-