]> Cypherpunks.ru repositories - govpn.git/blobdiff - src/cypherpunks.ru/govpn/peer.go
Replace blake2b with golang.org/x/crypto implementation
[govpn.git] / src / cypherpunks.ru / govpn / peer.go
index fc361790237df8cfa17876864089757018c0faa7..213e8174786df4db45d72abfa40a20043851b9a4 100644 (file)
@@ -28,7 +28,7 @@ import (
        "sync/atomic"
        "time"
 
-       "github.com/dchest/blake2b"
+       "golang.org/x/crypto/blake2b"
        "golang.org/x/crypto/poly1305"
        "golang.org/x/crypto/salsa20"
 )
@@ -52,7 +52,10 @@ const (
 func newNonces(key *[32]byte, i uint64) chan *[NonceSize]byte {
        macKey := make([]byte, 32)
        salsa20.XORKeyStream(macKey, make([]byte, 32), make([]byte, 8), key)
-       mac := blake2b.NewMAC(NonceSize, macKey)
+       mac, err := blake2b.New256(macKey)
+       if err != nil {
+               panic(err)
+       }
        nonces := make(chan *[NonceSize]byte, NonceBucketSize*3)
        go func() {
                for {
@@ -202,13 +205,13 @@ func newPeer(isClient bool, addr string, conn io.Writer, conf *PeerConf, key *[S
        }
 
        if isClient {
-               peer.noncesT = newNonces(peer.key, 1 + 2)
-               peer.noncesR = newNonces(peer.key, 0 + 2)
-               peer.noncesExpect = newNonces(peer.key, 0 + 2)
+               peer.noncesT = newNonces(peer.key, 1+2)
+               peer.noncesR = newNonces(peer.key, 0+2)
+               peer.noncesExpect = newNonces(peer.key, 0+2)
        } else {
-               peer.noncesT = newNonces(peer.key, 0 + 2)
-               peer.noncesR = newNonces(peer.key, 1 + 2)
-               peer.noncesExpect = newNonces(peer.key, 1 + 2)
+               peer.noncesT = newNonces(peer.key, 0+2)
+               peer.noncesR = newNonces(peer.key, 1+2)
+               peer.noncesExpect = newNonces(peer.key, 1+2)
        }
 
        peer.NonceExpect = make([]byte, NonceSize)