- if subtle.ConstantTimeCompare(mac4Size.Sum(nil), tag) != 1 {
- return their, errors.New("Unauthenticated payload")
+ if _, err = io.ReadFull(kdf, keyAuth); err != nil {
+ return their, size, err
+ }
+
+ ciph, err = twofish.NewCipher(keyEnc)
+ if err != nil {
+ return their, size, err
+ }
+ ctr = cipher.NewCTR(ciph, make([]byte, twofish.BlockSize))
+ mac, err = blake2b.New256(keyAuth)
+ if err != nil {
+ return their, size, err