if err := checkPub(pub); err != nil {
return nil, err
}
- k := (pub.N.BitLen() + 7) / 8
+ k := pub.Size()
if len(msg) > k-11 {
return nil, ErrMessageTooLong
}
if err := checkPub(&priv.PublicKey); err != nil {
return err
}
- k := (priv.N.BitLen() + 7) / 8
+ k := priv.Size()
if k-(len(key)+3+8) < 0 {
return ErrDecryption
}
// in order to maintain constant memory access patterns. If the plaintext was
// valid then index contains the index of the original message in em.
func decryptPKCS1v15(rand io.Reader, priv *PrivateKey, ciphertext []byte) (valid int, em []byte, index int, err error) {
- k := (priv.N.BitLen() + 7) / 8
+ k := priv.Size()
if k < 11 {
err = ErrDecryption
return
}
tLen := len(prefix) + hashLen
- k := (priv.N.BitLen() + 7) / 8
+ k := priv.Size()
if k < tLen+11 {
return nil, ErrMessageTooLong
}
}
tLen := len(prefix) + hashLen
- k := (pub.N.BitLen() + 7) / 8
+ k := pub.Size()
if k < tLen+11 {
return ErrVerification
}