]> Cypherpunks.ru repositories - gogost.git/blobdiff - src/cypherpunks.ru/gogost/gost341194/hash.go
Simplify keys and IVs arguments passing: use slices instead of arrays
[gogost.git] / src / cypherpunks.ru / gogost / gost341194 / hash.go
index 51dcbfe15ca157473f94dbca02850ed142d4cfdb..981942267e7978c7580078629ff26b207454a851 100644 (file)
@@ -1,5 +1,5 @@
 // GoGOST -- Pure Go GOST cryptographic functions library
-// Copyright (C) 2015-2017 Sergey Matveev <stargrave@stargrave.org>
+// Copyright (C) 2015-2019 Sergey Matveev <stargrave@stargrave.org>
 //
 // 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],
        })