static EllipticCurves.CurveType nistHpkeKemToCurve(HpkeParameters.KemId kemId)
      throws GeneralSecurityException {
    if (kemId == HpkeParameters.KemId.DHKEM_P256_HKDF_SHA256) {
      return EllipticCurves.CurveType.NIST_P256;
    }
    if (kemId == HpkeParameters.KemId.DHKEM_P384_HKDF_SHA384) {
      return EllipticCurves.CurveType.NIST_P384;
    }
    if (kemId == HpkeParameters.KemId.DHKEM_P521_HKDF_SHA512) {
      return EllipticCurves.CurveType.NIST_P521;
    }
    throw new GeneralSecurityException("Unrecognized NIST HPKE KEM identifier");
  }
Transforms {@code info} into labeled info using {@code label}, {@code suiteId}, and {@code
length} according to {@code LabeledExpand()} defined in
https://www.rfc-editor.org/rfc/rfc9180.html#section-4.

@throws GeneralSecurityException when byte concatenation fails.
java_src/src/main/java/com/google/crypto/tink/hybrid/internal/HpkeUtil.java