@Override
  public boolean equalsKey(Key o) {
    if (!(o instanceof HpkePublicKey)) {
      return false;
    }
    HpkePublicKey other = (HpkePublicKey) o;
    // Since outputPrefix is a function of parameters, we can ignore it here.
    return parameters.equals(other.parameters)
        && publicKeyBytes.equals(other.publicKeyBytes)
        && Objects.equals(idRequirement, other.idRequirement);
  }
Creates a new HPKE public key.

@param parameters HPKE parameters for the public key
@param publicKeyBytes Public key encoded according to
    https://www.rfc-editor.org/rfc/rfc9180.html#section-7.1.1
@param idRequirement Key id requirement, which must be null for {@code NO_PREFIX} variant and
    non-null for all other variants
java_src/src/main/java/com/google/crypto/tink/hybrid/HpkePublicKey.java