code: func parseRSA(in []byte) (out PublicKey, rest []byte, err error) {
  	var w struct {
  		E    *big.Int
  		N    *big.Int
  		Rest []byte `ssh:"rest"`
  	}
  	if err := Unmarshal(in, &w); err != nil {
  		return nil, nil, err
  	}
  
  	if w.E.BitLen() > 24 {
  		return nil, nil, errors.New("ssh: exponent too large")
  	}
  	e := w.E.Int64()
  	if e < 3 || e&1 == 0 {
  		return nil, nil, errors.New("ssh: incorrect exponent")
  	}
  
  	var key rsa.PublicKey
  	key.E = int(e)
  	key.N = w.N
  	return (*rsaPublicKey)(&key), w.Rest, nil
  }
docs: // parseRSA parses an RSA key according to RFC 4253, section 6.6.