code: func keyIdentifierFromDerivedKey(derivedKey *SymmetricKey, recipientIndex uint64) []byte {
  	keyIdentifierDigest := hmac.New(sha512.New, []byte(signcryptionBoxKeyIdentifierContext))
  	keyIdentifierDigest.Write(derivedKey[:])
  	nonce := nonceForPayloadKeyBoxV2(recipientIndex)
  	keyIdentifierDigest.Write(nonce[:])
  	return keyIdentifierDigest.Sum(nil)[0:32]
  }
docs: // Compute the visible identifier that the recipient will use to find the right
  // recipient entry. Include the entry index, so that this identifier is unique
  // even if two recipients claim the same public key (though unfortunately that
  // means that recipients will need to recompute the identifier for each entry
  // in the recipients list). This identifier is somewhat redundant, because a
  // recipient could instead just attempt to decrypt the payload key secretbox
  // and see if it works, but including them adds a bit to anonymity by making
  // box key recipients indistinguishable from symmetric key recipients.