code: func (msg *sentMessage) encryptAsymmetric(key *ecdsa.PublicKey) error {
  	if !ValidatePublicKey(key) {
  		return errors.New("invalid public key provided for asymmetric encryption")
  	}
  	encrypted, err := ecies.Encrypt(crand.Reader, ecies.ImportECDSAPublic(key), msg.Raw, nil, nil)
  	if err == nil {
  		msg.Raw = encrypted
  	}
  	return err
  }
docs: // encryptAsymmetric encrypts a message with a public key.