-
Bitcoin
$114200
0.20% -
Ethereum
$3640
0.77% -
XRP
$2.953
-1.88% -
Tether USDt
$0.9999
0.01% -
BNB
$762.7
0.71% -
Solana
$164.2
-1.26% -
USDC
$0.9999
0.00% -
TRON
$0.3334
0.38% -
Dogecoin
$0.2013
-0.44% -
Cardano
$0.7265
-1.34% -
Hyperliquid
$37.81
-1.31% -
Stellar
$0.3944
-2.27% -
Sui
$3.448
0.26% -
Bitcoin Cash
$564.4
0.92% -
Chainlink
$16.50
-0.07% -
Hedera
$0.2436
0.51% -
Ethena USDe
$1.001
0.01% -
Avalanche
$22.22
-0.09% -
Litecoin
$118.3
-2.28% -
UNUS SED LEO
$8.991
0.09% -
Toncoin
$3.188
-4.00% -
Shiba Inu
$0.00001218
0.19% -
Uniswap
$9.670
-0.24% -
Polkadot
$3.633
0.89% -
Monero
$295.1
-1.35% -
Dai
$0.0000
0.00% -
Bitget Token
$4.317
-0.44% -
Cronos
$0.1390
0.50% -
Pepe
$0.00001027
-0.88% -
Aave
$258.4
0.30%
Keccakとは何ですか?
SHA-3として標準化されたKeccakは、EthereumのEVMのハッシュトランザクションとスマートコントラクトのために重要であり、ブロックチェーンのセキュリティを確保しています。
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) までご連絡ください。速やかに削除させていただきます。
- イーサリアム、トランザクションボリューム、およびSECステーキング:規制環境のナビゲート
- 2025-08-06 22:30:13
- Crypto、Tokens、およびMetrics:新しいフロンティアをナビゲートします
- 2025-08-06 23:09:22
- Crypto Market Buzz:Coinbase、Binance List Tokenとしてサージを証明する
- 2025-08-06 22:30:13
- ブロックサックは誰ですか?ベースネットワークとレイヤー2が暗号シーンを揺さぶる
- 2025-08-06 23:10:13
- ブラジル、ビットコイン、聴聞日:ブラジルはビットコインを受け入れようとしていますか?
- 2025-08-06 20:30:38
- ベースチェーンのStabull Dex:Stablecoinsの新しい時代?
- 2025-08-06 20:47:53
関連知識

CEFIとdefiの違いは何ですか?
2025-07-22 00:28:43
CefiとDefiの理解暗号通貨の世界では、 CEFI (集中財務)とDefi (分散型財務)が2つの異なる金融エコシステムを表しています。 CEFIとは、中央当局が事業を管理し、ユーザーファンドを管理する従来の金融機関に似たプラットフォームを指します。例には、BinanceやCoinbaseなどの...

潜在的な暗号エアドロップの資格を得る方法は?
2025-07-23 06:49:44
暗号の空気ドロップが何であるかを理解します暗号のエアドロップは、自由なトークンまたはコインの分布を多数のウォレットアドレスに指します。これは、ブロックチェーンプロジェクトでしばしば認識と採用を増やすために使用されます。これらのエアドロップは予期しない場合もあれば、ユーザーからの特定の適格なアクション...

暗号「エアドロップファーマー」とは何ですか?
2025-07-24 22:22:20
暗号の「エアドロップファーマー」の役割を理解する暗号の「Airdrop Farmer」とは、自由なトークンを蓄積するために暗号通貨のエアドロップに積極的に参加する個人を指します。エアドロップは、ブロックチェーンプロジェクトで使用されるプロモーション戦略であり、多くの場合、トークンの所有権を分散させる...

サイドチェーンとレイヤー2の違いは何ですか?
2025-07-20 23:35:57
サイドチェーンの概念を理解するサイドチェーンは、メインブロックチェーン、通常はBitcoinやイーサリアムなどの暗号通貨のメインネットと平行に動作する別のブロックチェーンです。メインチェーンとサイドチェーンの間で資産を安全に移動できるように設計されています。サイドチェーンの主な目的は、メインのブロッ...

ブロック間通信プロトコル(IBC)とは何ですか?
2025-07-19 10:43:17
ブロック間通信プロトコル(IBC)を理解するブロック間通信プロトコル(IBC)は、異なるブロックチェーンネットワーク間の相互運用性を可能にするように設計されたクロスチェーン通信プロトコルです。独立したブロックチェーンは、データと価値を安全かつ信頼できるように交換できます。最初にコスモスエコシステム向...

シャードはスケーラビリティをどのように改善しますか?
2025-07-20 01:21:49
ブロックチェーンでのシャードの理解Shardingは、スケーラビリティを向上させるために、ブロックチェーンテクノロジーでますます採用されているデータベースパーティション化手法です。ブロックチェーンのコンテキストでは、シャードには、ネットワークを「シャード」と呼ばれるより小さく、より管理しやすいセグメ...

CEFIとdefiの違いは何ですか?
2025-07-22 00:28:43
CefiとDefiの理解暗号通貨の世界では、 CEFI (集中財務)とDefi (分散型財務)が2つの異なる金融エコシステムを表しています。 CEFIとは、中央当局が事業を管理し、ユーザーファンドを管理する従来の金融機関に似たプラットフォームを指します。例には、BinanceやCoinbaseなどの...

潜在的な暗号エアドロップの資格を得る方法は?
2025-07-23 06:49:44
暗号の空気ドロップが何であるかを理解します暗号のエアドロップは、自由なトークンまたはコインの分布を多数のウォレットアドレスに指します。これは、ブロックチェーンプロジェクトでしばしば認識と採用を増やすために使用されます。これらのエアドロップは予期しない場合もあれば、ユーザーからの特定の適格なアクション...

暗号「エアドロップファーマー」とは何ですか?
2025-07-24 22:22:20
暗号の「エアドロップファーマー」の役割を理解する暗号の「Airdrop Farmer」とは、自由なトークンを蓄積するために暗号通貨のエアドロップに積極的に参加する個人を指します。エアドロップは、ブロックチェーンプロジェクトで使用されるプロモーション戦略であり、多くの場合、トークンの所有権を分散させる...

サイドチェーンとレイヤー2の違いは何ですか?
2025-07-20 23:35:57
サイドチェーンの概念を理解するサイドチェーンは、メインブロックチェーン、通常はBitcoinやイーサリアムなどの暗号通貨のメインネットと平行に動作する別のブロックチェーンです。メインチェーンとサイドチェーンの間で資産を安全に移動できるように設計されています。サイドチェーンの主な目的は、メインのブロッ...

ブロック間通信プロトコル(IBC)とは何ですか?
2025-07-19 10:43:17
ブロック間通信プロトコル(IBC)を理解するブロック間通信プロトコル(IBC)は、異なるブロックチェーンネットワーク間の相互運用性を可能にするように設計されたクロスチェーン通信プロトコルです。独立したブロックチェーンは、データと価値を安全かつ信頼できるように交換できます。最初にコスモスエコシステム向...

シャードはスケーラビリティをどのように改善しますか?
2025-07-20 01:21:49
ブロックチェーンでのシャードの理解Shardingは、スケーラビリティを向上させるために、ブロックチェーンテクノロジーでますます採用されているデータベースパーティション化手法です。ブロックチェーンのコンテキストでは、シャードには、ネットワークを「シャード」と呼ばれるより小さく、より管理しやすいセグメ...
すべての記事を見る
