From 337819d130c18cd843c71c40a9c1f632a17d2b31 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Fri, 25 Feb 2022 14:48:11 +0300 Subject: [PATCH] tz: export checksum size Signed-off-by: Evgenii Stratonikov --- tz/avx.go | 6 +++--- tz/avx2.go | 4 ++-- tz/avx2_inline.go | 4 ++-- tz/avx_inline.go | 6 +++--- tz/hash.go | 9 +++++---- tz/hash_test.go | 2 +- tz/pure.go | 6 +++--- tz/sl2.go | 2 +- 8 files changed, 20 insertions(+), 19 deletions(-) diff --git a/tz/avx.go b/tz/avx.go index 913c7e2..2a4d62b 100644 --- a/tz/avx.go +++ b/tz/avx.go @@ -33,11 +33,11 @@ func (d *digest) Sum(in []byte) []byte { return append(in, h[:]...) } -func (d *digest) checkSum() [hashSize]byte { +func (d *digest) checkSum() [Size]byte { return d.byteArray() } -func (d *digest) byteArray() (b [hashSize]byte) { +func (d *digest) byteArray() (b [Size]byte) { copy(b[:], d.x[0].ByteArray()) copy(b[16:], d.x[1].ByteArray()) copy(b[32:], d.x[2].ByteArray()) @@ -68,7 +68,7 @@ func (d *digest) Write(data []byte) (n int, err error) { } func (d *digest) Size() int { - return hashSize + return Size } func (d *digest) BlockSize() int { diff --git a/tz/avx2.go b/tz/avx2.go index 788baf2..8ee9d00 100644 --- a/tz/avx2.go +++ b/tz/avx2.go @@ -47,9 +47,9 @@ func (d *digest2) Reset() { d.x[0] = avx2.GF127x2{GF127{1, 0}, GF127{0, 0}} d.x[1] = avx2.GF127x2{GF127{0, 0}, GF127{1, 0}} } -func (d *digest2) Size() int { return hashSize } +func (d *digest2) Size() int { return Size } func (d *digest2) BlockSize() int { return hashBlockSize } -func (d *digest2) checkSum() (b [hashSize]byte) { +func (d *digest2) checkSum() (b [Size]byte) { // Matrix is stored transposed, // but we need to use order consistent with digest. h := d.x[0].ByteArray() diff --git a/tz/avx2_inline.go b/tz/avx2_inline.go index 3e68c3d..26b5b91 100644 --- a/tz/avx2_inline.go +++ b/tz/avx2_inline.go @@ -41,9 +41,9 @@ func (d *digest3) Reset() { d.x[0] = avx2.GF127x2{GF127{1, 0}, GF127{0, 0}} d.x[1] = avx2.GF127x2{GF127{0, 0}, GF127{1, 0}} } -func (d *digest3) Size() int { return hashSize } +func (d *digest3) Size() int { return Size } func (d *digest3) BlockSize() int { return hashBlockSize } -func (d *digest3) checkSum() (b [hashSize]byte) { +func (d *digest3) checkSum() (b [Size]byte) { // Matrix is stored transposed, // but we need to use order consistent with digest. h := d.x[0].ByteArray() diff --git a/tz/avx_inline.go b/tz/avx_inline.go index 387b256..a6374e3 100644 --- a/tz/avx_inline.go +++ b/tz/avx_inline.go @@ -27,11 +27,11 @@ func (d *digest4) Sum(in []byte) []byte { return append(in, h[:]...) } -func (d *digest4) checkSum() [hashSize]byte { +func (d *digest4) checkSum() [Size]byte { return d.byteArray() } -func (d *digest4) byteArray() (b [hashSize]byte) { +func (d *digest4) byteArray() (b [Size]byte) { copy(b[:], d.x[0].ByteArray()) copy(b[16:], d.x[1].ByteArray()) copy(b[32:], d.x[2].ByteArray()) @@ -55,7 +55,7 @@ func (d *digest4) Write(data []byte) (n int, err error) { } func (d *digest4) Size() int { - return hashSize + return Size } func (d *digest4) BlockSize() int { diff --git a/tz/hash.go b/tz/hash.go index 13e09c7..6bd3ce9 100644 --- a/tz/hash.go +++ b/tz/hash.go @@ -13,7 +13,8 @@ import ( type Implementation int const ( - hashSize = 64 + // Size is the size of a Tillich-Zemor hash sum in bytes. + Size = 64 hashBlockSize = 128 _ Implementation = iota @@ -77,7 +78,7 @@ func New() hash.Hash { } // Sum returns Tillich-ZĂ©mor checksum of data. -func Sum(data []byte) [hashSize]byte { +func Sum(data []byte) [Size]byte { if hasAVX2 { d := newAVX2Inline() _, _ = d.Write(data) // no errors @@ -111,11 +112,11 @@ func Concat(hs [][]byte) ([]byte, error) { func Validate(h []byte, hs [][]byte) (bool, error) { var ( b []byte - got, expected [hashSize]byte + got, expected [Size]byte err error ) - if len(h) != hashSize { + if len(h) != Size { return false, errors.New("invalid hash") } else if len(hs) == 0 { return false, errors.New("empty slice") diff --git a/tz/hash_test.go b/tz/hash_test.go index bae79ff..c0c10a4 100644 --- a/tz/hash_test.go +++ b/tz/hash_test.go @@ -133,7 +133,7 @@ func TestHomomorphism(t *testing.T) { c1, c2 sl2 n int err error - h, h1, h2 [hashSize]byte + h, h1, h2 [Size]byte b []byte ) diff --git a/tz/pure.go b/tz/pure.go index 8c5dad9..af9b3a7 100644 --- a/tz/pure.go +++ b/tz/pure.go @@ -22,11 +22,11 @@ func (d *digestp) Sum(in []byte) []byte { return append(in, h[:]...) } -func (d *digestp) checkSum() [hashSize]byte { +func (d *digestp) checkSum() [Size]byte { return d.byteArray() } -func (d *digestp) byteArray() (b [hashSize]byte) { +func (d *digestp) byteArray() (b [Size]byte) { for i := 0; i < 4; i++ { t := d.x[i].ByteArray() copy(b[i*16:], t[:]) @@ -58,7 +58,7 @@ func (d *digestp) Write(data []byte) (n int, err error) { } func (d *digestp) Size() int { - return hashSize + return Size } func (d *digestp) BlockSize() int { diff --git a/tz/sl2.go b/tz/sl2.go index f7ca1d4..4676eb1 100644 --- a/tz/sl2.go +++ b/tz/sl2.go @@ -185,7 +185,7 @@ func (c *sl2) String() string { c[1][0].String() + c[1][1].String() } -func (c *sl2) ByteArray() (b [hashSize]byte) { +func (c *sl2) ByteArray() (b [Size]byte) { t := c[0][0].ByteArray() copy(b[:], t)