diff --git a/crypto/key_store_test.go b/crypto/key_store_test.go
index a136ba992ca3a5937fdc7df2aca72eb1a0fa5f53..485d8f5367651e3172754303bd8f4a67563d44c8 100644
--- a/crypto/key_store_test.go
+++ b/crypto/key_store_test.go
@@ -9,7 +9,7 @@ import (
 func TestKeyStorePlain(t *testing.T) {
 	ks := NewKeyStorePlain(DefaultDataDir())
 	pass := "" // not used but required by API
-	k1, err := ks.GenerateNewKey(new(randentropy.RandEntropy), pass)
+	k1, err := ks.GenerateNewKey(randentropy.Reader, pass)
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -37,7 +37,7 @@ func TestKeyStorePlain(t *testing.T) {
 func TestKeyStorePassphrase(t *testing.T) {
 	ks := NewKeyStorePassphrase(DefaultDataDir())
 	pass := "foo"
-	k1, err := ks.GenerateNewKey(new(randentropy.RandEntropy), pass)
+	k1, err := ks.GenerateNewKey(randentropy.Reader, pass)
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -63,7 +63,7 @@ func TestKeyStorePassphrase(t *testing.T) {
 func TestKeyStorePassphraseDecryptionFail(t *testing.T) {
 	ks := NewKeyStorePassphrase(DefaultDataDir())
 	pass := "foo"
-	k1, err := ks.GenerateNewKey(new(randentropy.RandEntropy), pass)
+	k1, err := ks.GenerateNewKey(randentropy.Reader, pass)
 	if err != nil {
 		t.Fatal(err)
 	}
diff --git a/crypto/randentropy/rand_entropy.go b/crypto/randentropy/rand_entropy.go
index 28181030c687987847ec1affea3920bddaf9b6d1..b87fa564e0c498b25b2df02f56056d79b8f8a479 100644
--- a/crypto/randentropy/rand_entropy.go
+++ b/crypto/randentropy/rand_entropy.go
@@ -10,10 +10,12 @@ import (
 	"time"
 )
 
-type RandEntropy struct {
+var Reader io.Reader = &randEntropy{}
+
+type randEntropy struct {
 }
 
-func (*RandEntropy) Read(bytes []byte) (n int, err error) {
+func (*randEntropy) Read(bytes []byte) (n int, err error) {
 	readBytes := GetEntropyMixed(len(bytes))
 	copy(bytes, readBytes)
 	return len(bytes), nil