/*
GoVPN -- simple secure free software virtual private network daemon
-Copyright (C) 2014-2016 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2014-2017 Sergey Matveev <stargrave@stargrave.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
"bytes"
"crypto/rand"
"encoding/binary"
+ "io"
"testing"
"testing/quick"
)
var (
- testKey *[32]byte = new([32]byte)
+ testKey = new([32]byte)
)
func init() {
- rand.Read(testKey[:])
+ io.ReadFull(rand.Reader, testKey[:])
}
func TestSymmetric(t *testing.T) {
func BenchmarkChaff(b *testing.B) {
nonce := make([]byte, 8)
data := make([]byte, 16)
- rand.Read(nonce)
- rand.Read(data)
+ io.ReadFull(rand.Reader, nonce)
+ io.ReadFull(rand.Reader, data)
b.ResetTimer()
for i := 0; i < b.N; i++ {
Chaff(testKey, nonce, data)
func BenchmarkWinnow(b *testing.B) {
nonce := make([]byte, 8)
data := make([]byte, 16)
- rand.Read(nonce)
- rand.Read(data)
+ io.ReadFull(rand.Reader, nonce)
+ io.ReadFull(rand.Reader, data)
chaffed := Chaff(testKey, nonce, data)
b.ResetTimer()
for i := 0; i < b.N; i++ {