diff --git a/box/box.go b/box/box.go index a642934..e7962ea 100644 --- a/box/box.go +++ b/box/box.go @@ -70,7 +70,7 @@ func (c *Crypter) EncryptBox(dst []byte, ephKey *Key, plaintext []byte, padLen i c.ChainVar = make([]byte, CVLen) } if ephKey == nil { - k, err := c.Cipher.GenerateKey(rand.Reader) + k, err := c.Cipher.GenerateKey(nil) if err != nil { return nil, err } @@ -200,6 +200,9 @@ func (noise255) MACLen() int { return 16 } func (noise255) GenerateKey(random io.Reader) (Key, error) { var pubKey, privKey [32]byte + if random == nil { + random = rand.Reader + } if _, err := io.ReadFull(random, privKey[:]); err != nil { return Key{}, err } diff --git a/box/box_test.go b/box/box_test.go index db58cc5..36c801b 100644 --- a/box/box_test.go +++ b/box/box_test.go @@ -1,7 +1,6 @@ package box import ( - "crypto/rand" "testing" . "gopkg.in/check.v1" @@ -38,8 +37,8 @@ func (s *S) TestRoundtrip(c *C) { } func newCrypters() (*Crypter, *Crypter) { - recvKey, _ := Noise255.GenerateKey(rand.Reader) - sendKey, _ := Noise255.GenerateKey(rand.Reader) + recvKey, _ := Noise255.GenerateKey(nil) + sendKey, _ := Noise255.GenerateKey(nil) enc := &Crypter{ Cipher: Noise255,