...
1 package internal
2
3 import (
4 "crypto/rand"
5 "testing"
6 )
7
8 func TestEncryptThenDecrypt(t *testing.T) {
9 var seed [32]byte
10 var coin [SeedSize]byte
11
12 for i := 0; i < 32; i++ {
13 seed[i] = byte(i)
14 coin[i] = byte(i)
15 }
16
17 for i := 0; i < 100; i++ {
18 seed[0] = byte(i)
19 pk, sk := NewKeyFromSeed(seed[:])
20
21 for j := 0; j < 100; j++ {
22 var msg, msg2 [PlaintextSize]byte
23 var ct [CiphertextSize]byte
24
25 _, _ = rand.Read(msg[:])
26 _, _ = rand.Read(coin[:])
27
28 pk.EncryptTo(ct[:], msg[:], coin[:])
29 sk.DecryptTo(msg2[:], ct[:])
30
31 if msg != msg2 {
32 t.Fatalf("%v %v %v", ct, msg, msg2)
33 }
34 }
35 }
36 }
37
View as plain text