]> Cypherpunks.ru repositories - govpn.git/blobdiff - src/cypherpunks.ru/govpn/encless_test.go
crypto/rand does not guarantee full read at once
[govpn.git] / src / cypherpunks.ru / govpn / encless_test.go
index 20b0df63281e481a254eee1a25bf86a81bf8f0a6..1f9fece30e3207999ec3a01a6d779888299d15e6 100644 (file)
@@ -20,8 +20,8 @@ package govpn
 
 import (
        "bytes"
-       "crypto/rand"
        "encoding/binary"
+       "io"
        "testing"
        "testing/quick"
 )
@@ -31,7 +31,7 @@ var (
 )
 
 func init() {
-       rand.Read(testKey[:])
+       io.ReadFull(Rand, testKey[:])
 }
 
 func TestEnclessSymmetric(t *testing.T) {
@@ -56,8 +56,8 @@ func TestEnclessSymmetric(t *testing.T) {
 func BenchmarkEnclessEncode(b *testing.B) {
        nonce := make([]byte, 8)
        data := make([]byte, 128)
-       rand.Read(nonce)
-       rand.Read(data)
+       io.ReadFull(Rand, nonce)
+       io.ReadFull(Rand, data)
        b.ResetTimer()
        for i := 0; i < b.N; i++ {
                EnclessEncode(testKey, nonce, data)
@@ -67,8 +67,8 @@ func BenchmarkEnclessEncode(b *testing.B) {
 func BenchmarkEnclessDecode(b *testing.B) {
        nonce := make([]byte, 8)
        data := make([]byte, 128)
-       rand.Read(nonce)
-       rand.Read(data)
+       io.ReadFull(Rand, nonce)
+       io.ReadFull(Rand, data)
        encoded, _ := EnclessEncode(testKey, nonce, data)
        b.ResetTimer()
        for i := 0; i < b.N; i++ {