// ReadBuffer reads the public key from a buffer. func (p *PublicKey) ReadBuffer(b *buffer.Buffer) error { t := b.ScanString() e := b.ScanMPInt() n := b.ScanMPInt() if t != PUBLIC_KEY_TYPE { return ErrPublicKeyFormat } if e.Cmp(big.NewInt(EXPONENT)) != 0 { return ErrPublicKeyFormat } p.E = EXPONENT p.N = n return nil }