public interface SM9EncUserKeyParametersGenerator
The hid is what separates the functions a KGC offers. Usage warning: a key derived here should be used for the KEM or for public-key encryption, but not for both; a KGC offering both functions publishes a separate hid for each, as it does for the key exchange.
SM9SigUserKeyParametersGenerator| Modifier and Type | Method and Description |
|---|---|
SM9EncPrivateKeyParameters |
generateUserKey(byte[] identity,
byte hid)
Derive the private key of the user identified by
identity under the
given hid, a deterministic KGC operation - the same master key, identity
and hid always yield the same user key. |
SM9EncPrivateKeyParameters generateUserKey(byte[] identity, byte hid)
identity under the
given hid, a deterministic KGC operation - the same master key, identity
and hid always yield the same user key.identity - the user's identity.hid - the private-key generation function identifier the KGC chose for
the encryption function, SM9EncMasterPrivateKeyParameters.HID.
SM9EncMasterPrivateKeyParameters.HID_EXCHANGE names the key
exchange's own function and is refused here - a key derived under it
is that identity's exchange key, which the two usages are kept apart
to stop a KEM or decryption key from also being. A KGC offering both
the KEM and public-key encryption publishes a further value of its own
for one of them, so that no identity's key serves both.