- if _, err = io.ReadFull(kdf, key); err != nil {
- return nil, err
- }
- kdf, err = blake2b.NewXOF(blake2b.OutputLengthUnknown, key)
- if err != nil {
- return nil, err
- }
- if _, err = io.CopyN(out, kdf, padSize); err != nil {
+ blake3.DeriveKey(key, string(MagicNNCPEv5[:])+" PAD", sharedKey[:])
+ xof := blake3.New(32, key).XOF()
+ if _, err = io.CopyN(out, xof, padSize); err != nil {