X-Git-Url: http://www.git.cypherpunks.ru/?p=gogost.git;a=blobdiff_plain;f=gost3412128%2Fcipher_test.go;h=f25b6d3ae086d2fc3d36e24edae34a0008bc3ef1;hp=f574245a0048d0e9783bc00c82edd0927bb94f63;hb=9009082ff15ac83ea5923042c22891b6b525bc72;hpb=1fa893a0d8d18c9662cab80ca142b1319bf4bd80 diff --git a/gost3412128/cipher_test.go b/gost3412128/cipher_test.go index f574245..f25b6d3 100644 --- a/gost3412128/cipher_test.go +++ b/gost3412128/cipher_test.go @@ -86,28 +86,28 @@ func TestS(t *testing.T) { 0xff, 0xee, 0xdd, 0xcc, 0xbb, 0xaa, 0x99, 0x88, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x00, } - s(&blk) + s(blk[:]) if bytes.Compare(blk[:], []byte{ 0xb6, 0x6c, 0xd8, 0x88, 0x7d, 0x38, 0xe8, 0xd7, 0x77, 0x65, 0xae, 0xea, 0x0c, 0x9a, 0x7e, 0xfc, }) != 0 { t.FailNow() } - s(&blk) + s(blk[:]) if bytes.Compare(blk[:], []byte{ 0x55, 0x9d, 0x8d, 0xd7, 0xbd, 0x06, 0xcb, 0xfe, 0x7e, 0x7b, 0x26, 0x25, 0x23, 0x28, 0x0d, 0x39, }) != 0 { t.FailNow() } - s(&blk) + s(blk[:]) if bytes.Compare(blk[:], []byte{ 0x0c, 0x33, 0x22, 0xfe, 0xd5, 0x31, 0xe4, 0x63, 0x0d, 0x80, 0xef, 0x5c, 0x5a, 0x81, 0xc5, 0x0b, }) != 0 { t.FailNow() } - s(&blk) + s(blk[:]) if bytes.Compare(blk[:], []byte{ 0x23, 0xae, 0x65, 0x63, 0x3f, 0x84, 0x2d, 0x29, 0xc5, 0xdf, 0x52, 0x9c, 0x13, 0xf5, 0xac, 0xda, @@ -116,8 +116,13 @@ func TestS(t *testing.T) { } } -func R(blk *[BlockSize]byte) { - l(blk, 1) +func R(blk []byte) { + t := blk[15] + for i := 0; i < 15; i++ { + t ^= gfCache[blk[i]][lc[i]] + } + copy(blk[1:], blk) + blk[0] = t } func TestR(t *testing.T) { @@ -125,28 +130,28 @@ func TestR(t *testing.T) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, } - R(&blk) + R(blk[:]) if bytes.Compare(blk[:], []byte{ 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, }) != 0 { t.FailNow() } - R(&blk) + R(blk[:]) if bytes.Compare(blk[:], []byte{ 0xa5, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }) != 0 { t.FailNow() } - R(&blk) + R(blk[:]) if bytes.Compare(blk[:], []byte{ 0x64, 0xa5, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }) != 0 { t.FailNow() } - R(&blk) + R(blk[:]) if bytes.Compare(blk[:], []byte{ 0x0d, 0x64, 0xa5, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -160,28 +165,28 @@ func TestL(t *testing.T) { 0x64, 0xa5, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, } - l(&blk, 16) + l(blk[:]) if bytes.Compare(blk[:], []byte{ 0xd4, 0x56, 0x58, 0x4d, 0xd0, 0xe3, 0xe8, 0x4c, 0xc3, 0x16, 0x6e, 0x4b, 0x7f, 0xa2, 0x89, 0x0d, }) != 0 { t.FailNow() } - l(&blk, 16) + l(blk[:]) if bytes.Compare(blk[:], []byte{ 0x79, 0xd2, 0x62, 0x21, 0xb8, 0x7b, 0x58, 0x4c, 0xd4, 0x2f, 0xbc, 0x4f, 0xfe, 0xa5, 0xde, 0x9a, }) != 0 { t.FailNow() } - l(&blk, 16) + l(blk[:]) if bytes.Compare(blk[:], []byte{ 0x0e, 0x93, 0x69, 0x1a, 0x0c, 0xfc, 0x60, 0x40, 0x8b, 0x7b, 0x68, 0xf6, 0x6b, 0x51, 0x3c, 0x13, }) != 0 { t.FailNow() } - l(&blk, 16) + l(blk[:]) if bytes.Compare(blk[:], []byte{ 0xe6, 0xa8, 0x09, 0x4f, 0xee, 0x0a, 0xa2, 0x04, 0xfd, 0x97, 0xbc, 0xb0, 0xb4, 0x4b, 0x85, 0x80,