X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Fcypherpunks.ru%2Fgogost%2Fgost341194%2Fhash.go;h=981942267e7978c7580078629ff26b207454a851;hb=69e668f3499122e0b1140f3bd927de41ad279b94;hp=51dcbfe15ca157473f94dbca02850ed142d4cfdb;hpb=014be6ab0719643d1e2996a360ab0619124b7e0e;p=gogost.git diff --git a/src/cypherpunks.ru/gogost/gost341194/hash.go b/src/cypherpunks.ru/gogost/gost341194/hash.go index 51dcbfe..9819422 100644 --- a/src/cypherpunks.ru/gogost/gost341194/hash.go +++ b/src/cypherpunks.ru/gogost/gost341194/hash.go @@ -1,5 +1,5 @@ // GoGOST -- Pure Go GOST cryptographic functions library -// Copyright (C) 2015-2017 Sergey Matveev +// Copyright (C) 2015-2019 Sergey Matveev // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -31,7 +31,7 @@ const ( ) var ( - SboxDefault *gost28147.Sbox = &gost28147.GostR3411_94_TestParamSet + SboxDefault *gost28147.Sbox = &gost28147.SboxIdGostR341194TestParamSet c2 [BlockSize]byte = [BlockSize]byte{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -145,8 +145,7 @@ func (h *Hash) step(hin, m [BlockSize]byte) [BlockSize]byte { blockXor(k, u, v) k = fP(k) blockReverse(k[:], k[:]) - kk := *k - c := gost28147.NewCipher(kk, h.sbox) + c := gost28147.NewCipher(k[:], h.sbox) s := make([]byte, gost28147.BlockSize) c.Encrypt(s, []byte{ hin[31], hin[30], hin[29], hin[28], hin[27], hin[26], hin[25], hin[24], @@ -165,7 +164,7 @@ func (h *Hash) step(hin, m [BlockSize]byte) [BlockSize]byte { blockXor(k, u, v) k = fP(k) blockReverse(k[:], k[:]) - c = gost28147.NewCipher(*k, h.sbox) + c = gost28147.NewCipher(k[:], h.sbox) c.Encrypt(s, []byte{ hin[23], hin[22], hin[21], hin[20], hin[19], hin[18], hin[17], hin[16], }) @@ -183,7 +182,7 @@ func (h *Hash) step(hin, m [BlockSize]byte) [BlockSize]byte { blockXor(k, u, v) k = fP(k) blockReverse(k[:], k[:]) - c = gost28147.NewCipher(*k, h.sbox) + c = gost28147.NewCipher(k[:], h.sbox) c.Encrypt(s, []byte{ hin[15], hin[14], hin[13], hin[12], hin[11], hin[10], hin[9], hin[8], }) @@ -201,7 +200,7 @@ func (h *Hash) step(hin, m [BlockSize]byte) [BlockSize]byte { blockXor(k, u, v) k = fP(k) blockReverse(k[:], k[:]) - c = gost28147.NewCipher(*k, h.sbox) + c = gost28147.NewCipher(k[:], h.sbox) c.Encrypt(s, []byte{ hin[7], hin[6], hin[5], hin[4], hin[3], hin[2], hin[1], hin[0], })