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