aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsubtly <subtly@users.noreply.github.com>2015-03-04 03:56:05 +0800
committersubtly <subtly@users.noreply.github.com>2015-03-04 03:56:05 +0800
commit454c851260753a1d54153ea747f774606b53aea6 (patch)
treeb0ea70e97884427ee3773045c1afa087eb10c9ad
parent42f7632c3c687278b5c901454d900e699243cd38 (diff)
downloaddexon-solidity-454c851260753a1d54153ea747f774606b53aea6.tar.gz
dexon-solidity-454c851260753a1d54153ea747f774606b53aea6.tar.zst
dexon-solidity-454c851260753a1d54153ea747f774606b53aea6.zip
update host for ecies interop. test sha3 output of interim digest.
-rw-r--r--crypto.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/crypto.cpp b/crypto.cpp
index 4a9a9dc8..ebe8db6c 100644
--- a/crypto.cpp
+++ b/crypto.cpp
@@ -228,6 +228,42 @@ BOOST_AUTO_TEST_CASE(cryptopp_ecdsa_sipaseckp256k1)
}
}
+BOOST_AUTO_TEST_CASE(rlpx_sha3_norestart)
+{
+ CryptoPP::SHA3_256 ctx;
+ bytes input(asBytes("test"));
+ ctx.Update(input.data(), 4);
+ CryptoPP::SHA3_256 ctxCopy(ctx);
+ bytes interimDigest(32);
+ ctx.Final(interimDigest.data());
+ ctx.Update(input.data(), 4);
+ bytes firstDigest(32);
+ ctx.Final(firstDigest.data());
+ BOOST_REQUIRE(interimDigest == firstDigest);
+
+ ctxCopy.Update(input.data(), 4);
+ bytes finalDigest(32);
+ ctxCopy.Final(interimDigest.data());
+ BOOST_REQUIRE(interimDigest != finalDigest);
+
+ // we can do this another way -- copy the context for final
+ ctxCopy.Update(input.data(), 4);
+ ctxCopy.Update(input.data(), 4);
+ CryptoPP::SHA3_256 finalCtx(ctxCopy);
+ bytes finalDigest2(32);
+ finalCtx.Final(finalDigest2.data());
+ BOOST_REQUIRE(finalDigest2 == interimDigest);
+ ctxCopy.Update(input.data(), 4);
+ bytes finalDigest3(32);
+ finalCtx.Final(finalDigest3.data());
+ BOOST_REQUIRE(finalDigest2 != finalDigest3);
+}
+
+BOOST_AUTO_TEST_CASE(rlpx_updatemac_aesecb_sha3)
+{
+
+}
+
BOOST_AUTO_TEST_CASE(ecies_interop_test)
{
CryptoPP::SHA256 sha256ctx;