X-Git-Url: http://www.git.cypherpunks.ru/?p=gogost.git;a=blobdiff_plain;f=gost28147%2Fwrap_test.go;fp=gost28147%2Fwrap_test.go;h=9cf066b6fdc83cb0f6b375810cb72198b5a0d458;hp=0000000000000000000000000000000000000000;hb=1b5570c74dc84b97653e267f3cb0f938b5bf4b80;hpb=81d5e6635251272cdb1ea4b0bf5b9793a0e12a4d diff --git a/gost28147/wrap_test.go b/gost28147/wrap_test.go new file mode 100644 index 0000000..9cf066b --- /dev/null +++ b/gost28147/wrap_test.go @@ -0,0 +1,30 @@ +package gost28147 + +import ( + "bytes" + "crypto/rand" + "io" + "testing" +) + +func TestWrapSymmetric(t *testing.T) { + kek := make([]byte, KeySize) + cek := make([]byte, KeySize) + ukm := make([]byte, 8) + for i := 0; i < 1000; i++ { + if _, err := io.ReadFull(rand.Reader, kek); err != nil { + t.Fatal(err) + } + if _, err := io.ReadFull(rand.Reader, cek); err != nil { + t.Fatal(err) + } + if _, err := io.ReadFull(rand.Reader, ukm); err != nil { + t.Fatal(err) + } + data := WrapGost(ukm, kek, cek) + got := UnwrapGost(kek, data) + if !bytes.Equal(got, cek) { + t.FailNow() + } + } +}