public byte[] generateKey(
      byte[] kemBytes,
      String hmacAlgo,
      final byte[] hkdfSalt,
      final byte[] hkdfInfo,
      int keySizeInBytes,
      EllipticCurves.PointFormatType pointFormat)
      throws GeneralSecurityException {
    ECPublicKey ephemeralPublicKey = EllipticCurves.getEcPublicKey(
        recipientPrivateKey.getParams(), pointFormat, kemBytes);
    byte[] sharedSecret = EllipticCurves.computeSharedSecret(
        recipientPrivateKey, ephemeralPublicKey);
    return Hkdf.computeEciesHkdfSymmetricKey(
        kemBytes, sharedSecret, hmacAlgo, hkdfSalt, hkdfInfo, keySizeInBytes);
  }
HKDF-based KEM (key encapsulation mechanism) for ECIES recipient.

@since 1.0.0
java_src/src/main/java/com/google/crypto/tink/subtle/EciesHkdfRecipientKem.java