【イーサリアム】 ハッシュ関数(Keccak-256)について調べてみた。

公開日: : 最終更新日:2020/11/19 仮想通貨 , , , , ,

仮想通貨の1つであるイーサリアムで用いられているハッシュ関数「Keccak-256」について調べてみました。

ビットコインでは、「SHA-256」や「RIPEMD-160」というハッシュ関数が使われており、イーサリアムとは異なる仕様となっています。

ブロックチェーンにおけるハッシュ関数の使われ方や、ビットコインで用いられているハッシュ関数「SHA-256」「RIPEMD-160」については以前まとめました。
【仮想通貨】ハッシュ関数(SHA-256)について調べてみた【ブロックチェーン】

イーサリアムではハッシュ関数「SHA-3」が使われていると書かれているサイトなどを見かけますが、正確には間違いでイーサリアムにはハッシュ関数「Keccak-256」が使われています。

Keccak-256」と「SHA-3」の違いは?

Keccak(ケチャック)-256 は、2007年に NIST によって開催されて SHA-3 暗号ハッシュ関数のコンペに応募するために設計されました。

Keccak はこのコンペで優勝し、のちに SHA-3 として採用され、2015年に FIPS 202 として標準化されました。

ここで注意しないといけないのが、Keccak が SHA-3 として採用されましたが、 Keccak = SHA-3 ではなく、Keccak から変更が加えられて SHA-3 になっています。

そして、SHA-3 の標準化が大幅に遅れたため、イーサリアムでは Keccak の採用を決めたようです。

Keccak が SHA-3 と違うということは、同じ文字列をハッシュ化してみればわかります。

空文字「””」を入力して Keccak と SHA-3 でハッシュ関数を実行してみます。

ハッシュ関数の実行は、以下のページでできます。

Keccak-256」の結果

https://emn178.github.io/online-tools/keccak_256.html

SHA-3」の結果

https://emn178.github.io/online-tools/sha3_256.html

参考書籍

関連記事

【ビットコイン】ハッシュ関数(SHA-256・RIPEMD-160)について調べてみた。

ビットコインなどの仮想通貨で使用されているハッシュ関数(hash function)という技

記事を読む

【仮想通貨】デジタル署名について調べてみた【ブロックチェーン】

ビットコインなどの仮想通貨のブロックチェーンで用いられているデジタル署名(Digital s

記事を読む

【イーサリアム】クライアントソフト geth を使ってみた。

イーサリアムのクライアントソフト geth をインストールして使ってみました。 クライ

記事を読む

【イーサリアム】 チューリング完全性について調べてみた。

仮想通貨の1つであるイーサリアムについて調べていると、チューリング完全性(Turing co

記事を読む

【仮想通貨】トランザクションについて調べてみた【ブロックチェーン】

ビットコインなどの仮想通貨では、取引をトランザクションで記述されます。 そのトランザク

記事を読む

【ビットコイン】 アドレス生成方法について調べてみた。

仮想通貨の1つであるビットコインを送金するときは、送付側と受け手側のそれぞれのアドレスが必要

記事を読む

【仮想通貨】時価総額のランキングを円(JPY)で見る方法。

ビットコインやイーサリアムなどの仮想通貨の時価総額のランキングを 円(JPY)で見れる分かり

記事を読む

【仮想通貨】デジタル署名と公開鍵暗号の違いは!?

ビットコインなどの仮想通貨のブロックチェーン技術で用いられている「デジタル署名」「公開鍵暗号

記事を読む

初心者でも分かるビットコインの仕組みについてまとめてみた。

ビットコインは,時価総額が1位で最も有名な仮想通貨です. 仮想通貨の時価総額の見方について

記事を読む

【MetaMask】イーサリアムのウォレットを使ってみた【テスト環境】

今回、イーサリアムのウォレットの1つである MetaMask(メタマスク)を使って、テストブ

記事を読む

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用い

【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)

【PyTorch】ニューラルネットワークを構築する方法【NN】

今回は、PyTorch を使って、ニューラルネットワーク(NN)を構築

【OpenCV】検出した顔画像部分を切り出す方法【Python】

OpenCV を使って、Python で画像の中から顔部分を切り出した

【Fashion-MNIST】ファッションアイテムのデータセットを使ってみた【TensorFlow】

今回は、機械学習用に公開されているデータセットの1つである「Fashi

→もっと見る

PAGE TOP ↑