-
bitcoin $75771.540085 USD
-1.86% -
ethereum $2399.709795 USD
-3.26% -
tether $0.999204 USD
-0.06% -
bnb $712.217256 USD
-0.77% -
xrp $1.292312 USD
-7.62% -
usd-coin $0.999959 USD
0.00% -
solana $97.051620 USD
-3.70% -
tron $0.334571 USD
-0.90% -
zcash $1186.253570 USD
3.75% -
hyperliquid $77.520171 USD
-1.88% -
dogecoin $0.079968 USD
-3.28% -
monero $508.293198 USD
-1.02% -
unus-sed-leo $8.883426 USD
-0.86% -
chainlink $10.791602 USD
-5.36% -
cardano $0.194877 USD
-4.63%
Keccakとは何ですか?
Keccak, standardized as SHA-3, is crucial in Ethereum's EVM for hashing transactions and smart contracts, ensuring blockchain security.
2025/04/08 11:28
Keccakは、NISTハッシュ関数競合の勝者として選択され、その後SHA-3として標準化された暗号化ハッシュ関数です(Secure Hash Algorithm 3)。暗号通貨の世界では、特にイーサリアムブロックチェーンでは、Keccakが重要な役割を果たしています。ここでは、Ethereum Virtual Machine(EVM)ハッシュ関数の基礎として使用されます。この記事では、Keccakの詳細、暗号通貨のエコシステムにおけるその重要性、およびイーサリアムでの実装方法について説明します。
Keccakの起源と開発
Keccakは、Guido Bertoni、Joan Daemen、MichaëlPeeters、Gilles Van Asscheによって設計されました。 「Keccak」という名前は、シベリアのKet人々が話すKet言語に由来しています。このアルゴリズムは2008年に最初に導入され、2008年にNISTコンペティションに提出されました。厳密なテストと評価の後、Keccakは2012年に勝者に選ばれ、2015年にSHA-3として標準化されました。
Keccakの設計は、Hash機能設計への新しいアプローチであるスポンジ構造に基づいています。スポンジ構造は、可変出力の長さを可能にし、非常に柔軟であるため、幅広い暗号化アプリケーションに適しています。この柔軟性は、KeccakがEthereumで使用するために選ばれた理由の1つです。
Keccakの仕組み
Keccakは、吸収相と圧迫相の2つのフェーズで構成されるスポンジ関数を使用して動作します。吸収段階では、入力メッセージは固定サイズブロックに分割され、Keccak-F順列関数によって処理されます。絞り相は、スポンジの内部状態から目的の出力を抽出します。
Keccakがデータを処理する方法の簡略化された概要を次に示します。
- 初期化:スポンジの内部状態は、固定値に初期化されます。
- 吸収段階:入力メッセージはパッドで入っており、ブロックに分割されます。各ブロックは内部状態の最初の部分でXoredであり、その後、状態全体がKeccak-F順列関数によって処理されます。
- 絞りフェーズ:すべてのブロックが処理された後、Keccak-F順列関数を繰り返し適用し、状態の一部を読み取ることにより、目的の出力が内部状態から抽出されます。
Keccak-F順列関数は、Keccakアルゴリズムのコアです。 5x5レーンの状態配列で動作します。各レーンは固定数のビットです(たとえば、Keccak-F [1600]の64ビット)。順列関数は、5ラウンドの操作で構成されています。Theta、Rho、Pi、Chi、およびIotaです。これらの操作は、出力が非常に予測不可能であり、さまざまな種類の攻撃に対して耐性があることを保証するように設計されています。
イーサリアムのケッカック
Ethereumブロックチェーンでは、 Keccakは、 Keccak-256として知られるEthereum Virtual Machine(EVM)ハッシュ関数の基礎として使用されます。この関数は、以下を含む、イーサリアムエコシステム内のさまざまな目的に使用されます。
- トランザクションハッシュ:Ethereumネットワークの各トランザクションは、KECCAK-256を使用してハッシュされ、一意の識別子が作成されます。
- 状態トライハッシュ:イーサリアムブロックチェーンの状態は、Trieデータ構造に保存され、Trieの各ノードはKeccak-256を使用してハッシュされます。
- スマートコントラクトの実行:KECCAK-256は、イベントおよびハッシュデータの一意の識別子を生成するためにスマートコントラクト内で使用されます。
EthereumでKeccak-256を使用すると、ブロックチェーンがさまざまな種類の攻撃に対して安全で耐性があることが保証されます。衝突攻撃やプリイメージ攻撃に対する抵抗など、Keccakの暗号化特性により、イーサリアムネットワークを確保するのに理想的な選択肢になります。
暗号通貨プロジェクトでKeccakの実装
暗号通貨プロジェクトに取り組んでいる開発者にとって、 Keccakの実装は、システムのセキュリティを確保するための重要なステップになる可能性があります。暗号通貨プロジェクトにKeccakを実装するためのいくつかの手順を次に示します。
適切なライブラリを選択します。KeccakコードパッケージやOpenSSLのSHA-3ライブラリなど、Keccakを実装するライブラリがいくつかあります。よく維持され、広く使用されているライブラリを選択してください。
ライブラリの統合:選択したライブラリをプロジェクトに統合します。これには通常、プロジェクトの依存関係にライブラリを追加し、コードにインポートすることが含まれます。
Keccak関数を使用します。ライブラリが提供するKeccak関数を使用して、データをハッシュします。たとえば、
keccakライブラリを使用したJavaScriptでは、次のような文字列をハッシュできます。const keccak256 = require('keccak256'); const input = 'Hello, World!'; const hash = keccak256(input); console.log(hash.toString('hex'));テストと検証:実装を徹底的にテストして、正しい出力を生成することを確認します。 Keccakチームが提供するテストベクトルを使用して、実装を確認できます。
パフォーマンスの最適化:プロジェクトの要件に応じて、Keccakの実装のパフォーマンスを最適化する必要がある場合があります。これには、ハードウェアアクセラレーションを使用したり、CやRustなどの低レベルの言語でアルゴリズムを実装することが含まれます。
Keccakとのセキュリティ上の考慮事項
Keccakは安全なハッシュ関数であると考えられていますが、開発者は次のことを認識すべきセキュリティ上の考慮事項がまだあります。
- 衝突抵抗:Keccakは、2つの異なる入力が同じ出力ハッシュを生成する衝突攻撃に対して非常に耐性があるように設計されています。ただし、衝突のリスクを最小限に抑えるために、十分な出力サイズ(たとえば、256ビット)を使用することが依然として重要です。
- プリイメージ抵抗:Keccakは、攻撃者が特定の出力ハッシュを生成する入力を見つけようとする攻撃のプリイメージ攻撃に対して耐性になるように設計されています。ただし、プリイメージ攻撃が実行不可能であることを確認するために、十分に大きな入力サイズを使用することが重要です。
- サイドチャネル攻撃:Keccakの実装は、タイミング攻撃やパワー分析攻撃など、サイドチャネル攻撃に対して脆弱である場合があります。開発者は、サイドチャネル攻撃のリスクを最小限に抑える方法でKeccakを実装するように注意する必要があります。
Keccakバリアントとその用途
Keccakにはいくつかのバリエーションがあり、それぞれが異なるパラメーターとユースケースを備えています。暗号通貨スペースで最も一般的に使用されるバリアントは次のとおりです。
- KECCAK-224 :このバリアントは224ビット出力を生成し、いくつかの軽量の暗号化アプリケーションで使用されています。
- Keccak-256 :このバリアントは256ビットの出力を生成し、イーサリアムおよびその他の暗号通貨プロジェクトで最も一般的に使用されるバリアントです。
- Keccak-384 :このバリアントは384ビット出力を生成し、より高いレベルのセキュリティを必要とするアプリケーションで使用されます。
- Keccak-512 :このバリアントは512ビット出力を生成し、最高レベルのセキュリティを必要とするアプリケーションで使用されます。
Keccakの各バリアントは、セキュリティとパフォーマンスのバランスが異なるように設計されており、開発者は特定のニーズに最適なバリアントを選択できます。
よくある質問
Q:KeccakはSHA-2とどのように違いますか?A:KeccakとSha-2はどちらも暗号化ハッシュ関数ですが、異なる設計と特性があります。 Keccakはスポンジ構造に基づいており、SHA-2はMerkle –Damgård構造に基づいています。 Keccakは、SHA-2の懸念である長さの拡張攻撃など、特定の種類の攻撃に対してより柔軟で耐性があるように設計されています。
Q:Keccakはデジタル署名に使用できますか?
A:はい、Keccakはデジタル署名スキームの一部として使用できます。ただし、通常、完全なデジタル署名アルゴリズムを作成するために、楕円曲線暗号化などの他の暗号化プリミティブと組み合わせて使用されます。
Q:Keccakは、Ethereum以外の他の暗号通貨で使用されていますか?
A:はい、Keccakは他のいくつかの暗号通貨やブロックチェーンプロジェクトで使用されます。たとえば、IOTA CryptocurrencyはCurl-Pと呼ばれるKeccakのバリアントを使用し、Zcash Cryptocurrencyはその著作権の証明アルゴリズムの一部としてKeccakを使用します。
Q:Keccakの実装の正しさを確認するにはどうすればよいですか?
A:Keccakの実装の正しさを確認するには、Keccakチームが提供するテストベクトルを使用できます。これらのテストベクトルは、実装が特定の入力に対して正しい出力を生成するかどうかを確認するために使用できる入出力ペアです。これらのテストベクトルは、公式のKeccak Webサイトで見つけることができます。
免責事項:info@kdj.com
提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。
このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。
- 下院委員会が戦略的ビットコイン準備法案を前進させ、連邦暗号資産保有の将来を形作る
- 2026-09-17 12:40:01
- 仮想通貨税法案:デジタル資産は新たな税制に直面しているが、依然として明確性は得られていない
- 2026-09-17 09:10:02
- MemeToro、AI とフェアローンチ スマート コントラクトで BNB チェーンでの Memecoin のローンチに革命を起こす
- 2026-09-17 09:10:01
- FRBの全会一致利上げがタカ派の決意を示す中、ビットコインとイーサはボラティリティ継続に備える
- 2026-09-17 09:20:02
- 仮想通貨のプリセールを安全にナビゲートする: 仮想通貨の購入、ウォレットの安全性、および契約の確認に関する重要なヒント
- 2026-09-17 08:50:02
- CLARITY法がつまずき、仮想通貨ルールは規制当局に移行、5つのコインが注目
- 2026-09-17 08:55:01
関連知識
DAIとは何ですか?USDTとの違いは何ですか?
2026-09-08 17:00:22
市場のボラティリティパターン1. 2021 年以降、Bitcoin の取引日の 68% 以上で、24 時間枠内で 15% を超える価格変動が発生しました。 2. イーサリアムは、流動性が低い期間、特に UTC の 02:00 から 06:00 の間で、Bitcoin よりも高い日中ボラティリティを示...
なぜステーブルコインは1ドルペッグを失う可能性があるのでしょうか?
2026-09-08 02:00:03
組成と透明度のギャップを確保する1. 多くのステーブルコインは、現金または短期米国国債によって完全に裏付けられていると主張していますが、準備金の開示にはリアルタイムの検証メカニズムが欠けていることがよくあります。 2. 第三者による認証は四半期ごとにのみ行われる可能性があるため、資産と負債の構造の不...
暗号通貨における自己保管とは何ですか?なぜそれが重要ですか?
2026-09-10 04:19:32
定義とコアメカニズム1. 自己保管とは、個人がその権限をサードパーティのサービスに委任することなく、自分の秘密鍵を完全に制御する慣行を指します。 2. セルフカストディアルウォレットはサーバー上に資産を保持しません。代わりに、ローカルに保存された暗号キーを使用してブロックチェーン ネットワークと対話...
カストディアルウォレットと非カストディアルウォレット: 違いは何ですか?
2026-09-17 03:19:46
保管ウォレットの定義1. カストディアル ウォレットは、サードパーティのサービス プロバイダーがユーザーの秘密キーを保持および管理するデジタル資産ストレージ ソリューションです。 2. ユーザーは、直接的な暗号化制御ではなく、電子メール、パスワード、2 要素認証などのログイン資格情報を介して資金にア...
マルチシグウォレットとは何ですか?いつ役立つのですか?
2026-09-12 14:20:01
定義とコアアーキテクチャ1. マルチシグ ウォレットは、単一のブロックチェーン トランザクションを承認するために複数の秘密キーを必要とする暗号化構造です。 2. これは、M-of-N 署名スキームに基づいて動作します。ここで、 M は必要な署名の最小数を表し、 N は許可された署名者の総数を表します...
Bitcoin とライトニング ネットワーク: 違いは何ですか?
2026-09-13 15:40:16
コアアーキテクチャとトランザクションモデル1. Bitcoin は、単層のパーミッションレス ブロックチェーン上で動作し、すべてのトランザクションが暗号的に検証され、数千の完全なノードに伝播され、約 10 分ごとに連続したブロックに永続的に記録されます。 2. ライトニング ネットワークは、Bitc...
DAIとは何ですか?USDTとの違いは何ですか?
2026-09-08 17:00:22
市場のボラティリティパターン1. 2021 年以降、Bitcoin の取引日の 68% 以上で、24 時間枠内で 15% を超える価格変動が発生しました。 2. イーサリアムは、流動性が低い期間、特に UTC の 02:00 から 06:00 の間で、Bitcoin よりも高い日中ボラティリティを示...
なぜステーブルコインは1ドルペッグを失う可能性があるのでしょうか?
2026-09-08 02:00:03
組成と透明度のギャップを確保する1. 多くのステーブルコインは、現金または短期米国国債によって完全に裏付けられていると主張していますが、準備金の開示にはリアルタイムの検証メカニズムが欠けていることがよくあります。 2. 第三者による認証は四半期ごとにのみ行われる可能性があるため、資産と負債の構造の不...
暗号通貨における自己保管とは何ですか?なぜそれが重要ですか?
2026-09-10 04:19:32
定義とコアメカニズム1. 自己保管とは、個人がその権限をサードパーティのサービスに委任することなく、自分の秘密鍵を完全に制御する慣行を指します。 2. セルフカストディアルウォレットはサーバー上に資産を保持しません。代わりに、ローカルに保存された暗号キーを使用してブロックチェーン ネットワークと対話...
カストディアルウォレットと非カストディアルウォレット: 違いは何ですか?
2026-09-17 03:19:46
保管ウォレットの定義1. カストディアル ウォレットは、サードパーティのサービス プロバイダーがユーザーの秘密キーを保持および管理するデジタル資産ストレージ ソリューションです。 2. ユーザーは、直接的な暗号化制御ではなく、電子メール、パスワード、2 要素認証などのログイン資格情報を介して資金にア...
マルチシグウォレットとは何ですか?いつ役立つのですか?
2026-09-12 14:20:01
定義とコアアーキテクチャ1. マルチシグ ウォレットは、単一のブロックチェーン トランザクションを承認するために複数の秘密キーを必要とする暗号化構造です。 2. これは、M-of-N 署名スキームに基づいて動作します。ここで、 M は必要な署名の最小数を表し、 N は許可された署名者の総数を表します...
Bitcoin とライトニング ネットワーク: 違いは何ですか?
2026-09-13 15:40:16
コアアーキテクチャとトランザクションモデル1. Bitcoin は、単層のパーミッションレス ブロックチェーン上で動作し、すべてのトランザクションが暗号的に検証され、数千の完全なノードに伝播され、約 10 分ごとに連続したブロックに永続的に記録されます。 2. ライトニング ネットワークは、Bitc...
すべての記事を見る














