code: func (p *Pss) SendAsym(pubkeyid string, topic Topic, msg []byte) error {
  	if _, err := crypto.UnmarshalPubkey(common.FromHex(pubkeyid)); err != nil {
  		return fmt.Errorf("Cannot unmarshal pubkey: %x", pubkeyid)
  	}
  	psp, ok := p.getPeerPub(pubkeyid, topic)
  	if !ok {
  		return fmt.Errorf("invalid topic '%s' for pubkey '%s'", topic.String(), pubkeyid)
  	}
  	return p.send(psp.address, topic, msg, true, common.FromHex(pubkeyid))
  }
docs: // Send a message using asymmetric encryption
  //
  // Fails if the key id does not match any in of the stored public keys