From 627b7c9fd75c84e0ca3af110b8f64ab5bbda963e Mon Sep 17 00:00:00 2001 From: obscuren Date: Sun, 7 Sep 2014 10:07:51 +0200 Subject: Updated to latest sha3 implementation. Fixes #48 --- ethcrypto/crypto.go | 5 +++-- ethcrypto/crypto_test.go | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 ethcrypto/crypto_test.go (limited to 'ethcrypto') diff --git a/ethcrypto/crypto.go b/ethcrypto/crypto.go index 19f8c9e55..f5f0f7e68 100644 --- a/ethcrypto/crypto.go +++ b/ethcrypto/crypto.go @@ -1,9 +1,10 @@ package ethcrypto import ( + "crypto/sha256" + "code.google.com/p/go.crypto/ripemd160" "code.google.com/p/go.crypto/sha3" - "crypto/sha256" "github.com/ethereum/eth-go/ethutil" ) @@ -21,7 +22,7 @@ func Ripemd160(data []byte) []byte { } func Sha3Bin(data []byte) []byte { - d := sha3.NewKeccak256() + d := sha3.New256() d.Write(data) return d.Sum(nil) diff --git a/ethcrypto/crypto_test.go b/ethcrypto/crypto_test.go new file mode 100644 index 000000000..8418c9a5a --- /dev/null +++ b/ethcrypto/crypto_test.go @@ -0,0 +1,16 @@ +package ethcrypto + +import ( + "bytes" + "testing" + + "github.com/ethereum/eth-go/ethutil" +) + +func TestSha3(t *testing.T) { + const exp = "3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532" + sha3_256 := Sha3Bin([]byte("abc")) + if bytes.Compare(sha3_256, ethutil.Hex2Bytes(exp)) != 0 { + t.Errorf("Sha3_256 failed. Incorrect result %x", sha3_256) + } +} -- cgit v1.2.3 From adabd71a4ad808faf13f0253ad248bc746308db5 Mon Sep 17 00:00:00 2001 From: obscuren Date: Sun, 7 Sep 2014 22:34:24 +0200 Subject: Changed back to FIPS 180 --- ethcrypto/crypto.go | 21 +++------------------ ethcrypto/crypto_test.go | 1 + 2 files changed, 4 insertions(+), 18 deletions(-) (limited to 'ethcrypto') diff --git a/ethcrypto/crypto.go b/ethcrypto/crypto.go index f5f0f7e68..1f500f2db 100644 --- a/ethcrypto/crypto.go +++ b/ethcrypto/crypto.go @@ -1,28 +1,13 @@ package ethcrypto import ( - "crypto/sha256" - - "code.google.com/p/go.crypto/ripemd160" - "code.google.com/p/go.crypto/sha3" + //"code.google.com/p/go.crypto/sha3" "github.com/ethereum/eth-go/ethutil" + "github.com/obscuren/sha3" ) -func Sha256Bin(data []byte) []byte { - hash := sha256.Sum256(data) - - return hash[:] -} - -func Ripemd160(data []byte) []byte { - ripemd := ripemd160.New() - ripemd.Write(data) - - return ripemd.Sum(nil) -} - func Sha3Bin(data []byte) []byte { - d := sha3.New256() + d := sha3.NewKeccak256() d.Write(data) return d.Sum(nil) diff --git a/ethcrypto/crypto_test.go b/ethcrypto/crypto_test.go index 8418c9a5a..7323e1646 100644 --- a/ethcrypto/crypto_test.go +++ b/ethcrypto/crypto_test.go @@ -7,6 +7,7 @@ import ( "github.com/ethereum/eth-go/ethutil" ) +// FIPS 202 test (reverted back to FIPS 180) func TestSha3(t *testing.T) { const exp = "3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532" sha3_256 := Sha3Bin([]byte("abc")) -- cgit v1.2.3