編集者注: この記事は、Blockchain Base Camp (ID: blockchain_camp) からのもので、著者: wagslane、翻訳者: Huohuojiang が Odaily Planet Daily の許可を得て転載したものです。 この記事では、ハッシュ関数が使用される理由とその基本的な動作原理を読者が理解できるように、ハッシュ関数について簡単に紹介します。具体的な証明や実装の詳細は省略し、高レベルの原則に焦点を当てます。 ハッシュ関数を使用する理由は何ですか?ハッシュ関数は、主にパスワードの安全な保管、バックアップ レコードの検索、データの高速な保管と取得など、インターネットのさまざまな側面で広く使用されています。たとえば、Qvault はハッシュを使用してマスター パスワードを秘密の暗号化キーに拡張します。 (Qvault: https://qvault.io/) 使用例の一覧については、https://en.wikipedia.or/ を参照してください。 この記事では、ハッシュ関数の最も重要な特性とも言える、いくつかの重要な特性に焦点を当てます。
決定論的にデータをスクランブルするまず、ルービックキューブを想像してください。 リカバリーキューブから始めます。ルービック キューブをランダムに回転させると、最後には、ルービック キューブは最初とはまったく異なる状態になります。同様に、最初からやり直してまったく同じ行動を繰り返すと、まったく同じ結果が継続的に得られます。結果はランダムであるように見えるかもしれませんが、そうではありません。これが「決定論」の意味です。 「決定論」はパスワードを安全に保存する上で重要な役割を果たします。たとえば、私のパスワードが「iLoveBitcoin」だとします。 ハッシュ関数を使用してスクランブルすることができます。 iLoveBitcoin→ “2f5sfsdfs5s1fsfsdf98ss4f84sfs6d5fs2d1fdf15” これで、誰かがこの暗号化されたバージョンを見ても、私の元のパスワードはわかりません。これは非常に重要です。なぜなら、Web サイトの開発者として、ユーザーのパスワードを検証するために、そのハッシュ (スクランブルされたデータ) を保存するだけでよいからです。 ユーザーが登録すると、パスワードをハッシュしてデータベースに保存します。ユーザーがログインすると、入力を再度ハッシュし、2 つのハッシュを比較するだけです。特定の入力は常に同じハッシュ値を出力するため、この方法では毎回パスワードを正常に検証できます。 ウェブサイトがパスワードをプレーンテキストで保存すると、大きなセキュリティホールが生じます。誰かがサイトにハッキングすると、すべてのメールとパスワードにアクセスでき、それらを使用して他のサイトにログインしようとする可能性があります。 入力が何であっても、出力サイズは常に同じです1 つの単語をハッシュすると、出力は特定のサイズ (特定のハッシュ関数 SHA-256 の場合は 256 ビット) になります。本をハッシュすると、出力も同じサイズになります。 これは計算時間を節約できるため、もう 1 つの重要な機能です。典型的な例としては、データ マップ内のキーとしてハッシュを使用することです。データ マップは、コンピューター サイエンスでデータを格納するために使用される単純な構造です。 プログラムがマップ内にデータを保存する場合、マップにはキーと値が提供されます。プログラムが値にアクセスする場合、マップに対して適切なキーを提供し、対応する値を受け取ることができます。データマップの利点は、データをすぐに見つけることができることです。キーは、コンピューターが即座に見つけることができるアドレスとして使用されるので、何百万ものレコードを何時間もかけて検索する必要がなくなります。 アドレスと同様に、キーは大きすぎることはできないためです。データ マップに書籍を保存したい場合は、書籍の内容をハッシュし、そのハッシュ値をキーとして使用できます。プログラマーとして、タイトルや著者などで何千ものレコードを並べ替えることなく、ハッシュを使用して本のコンテンツを簡単に見つけることができます。 どのように機能しますか?これはこの記事の難しい部分です。実際の実装の詳細は省略し、ハッシュを使用してデータを処理するときのコンピューターの動作の基本的な概念に焦点を当てて、シンプルに説明します。 この目的のために私が書いたアルゴリズム、LANEHASH を見てみましょう。 ハッシュしたいデータから始めます 文字と数字を 1 と 0 に変換しました (コンピューター内のすべてのデータは 1 と 0 の形式で保存されており、1 と 0 の異なる組み合わせは異なる文字を表します) この時点で、さまざまな事前設定された手順を通じてデータを変換します。手順は任意ですが、重要なのは、アルゴリズムが決定論的になるように、LANEHASH を使用するたびに同じ手順に従う必要があることです。最初の 4 ビットを左から右にシフトします。 1ビットごとの間隔: これら 2 つの部分を 10 進数に変換します。 10 進数は、私たち全員が学校で学んだ「通常の」数値システムです。 (すべてのバイナリ データは実際には数値です。バイナリを 10 進数に変換する方法は、他の Web サイトで調べることができます) 次の 2 つの数値を掛け合わせます。 次にこの数を二乗します。 数値を 2 進数に戻します。 右側から 9 ビットを切り取ると、ちょうど 16 ビットになります。 次に、そのバイナリ データを英語に戻します。 上記のように、入力が同じであれば、最終的には出力も同じになります。ただし、1 文字でも変更すると、最終結果も大幅に変わります。 |
<<: エバン・インターナショナルの「執着」:エバンは次の「カナン」となるか?
>>: 半減期後、ビットコインのマイニングはどうなるのでしょうか?あなたのための包括的な分析
ビットコイン価格は月曜日(12月14日)のアジアセッションでわずかに上昇し、昨日の継続的な上昇後の強...
分散型金融(DeFi)は、2021年に暗号通貨業界を席巻し始めました。トレーダーが暗号通貨を簡単に取...
社会不安であろうと経済不況であろうと、銀行は発展の遅れについて世間の批判の標的になりやすい。しかし、...
海外メディアの報道によると、8月13日、アルゼンチンのアルベルト・フェルナンデス大統領はインタビュー...
1.米財務省の公式サイトによると、OFACはロシアの仮想通貨マイニング産業に携わる企業を制裁リストに...
米国のテクノロジーブログ「ビジネスインサイダー」傘下の研究機関「BIインテリジェンス」は先日、201...
12月23日、玉山支局は市当局と南京警察の強力な支援を得て、さまざまな捜査手法を駆使し、内部者と外...
新しい年はすべてが新しく始まります。 2017年12月25日にオンライン公開後、1秒で完売したAcu...
ビットコインのロゴに関して言えば、ほとんどの人は現在のビットコインのロゴ、つまりオレンジ色の円の上に...
Binance によるスマート チェーン (BSC) の使用は論争を巻き起こし、トラフィックの増加...
昨日、リップル社は日本のSBIホールディングスとの協力協定を発表した。 SBIホールディングスは、旧...
ビットコイン決済に特化したアプリ「Circle」は最近、6,000万ドルの資金調達を行った。過去1年...
数か月前、Paul Sztorc 氏はブログ記事を公開し、その中で 2 つの非常に良い疑問を提起しま...
昨夜、ビットコイン先物取引に参入した国内最古のビットコイン取引所である796取引所が公式サイトで発表...
、インターネットの発明者は不当な扱いを受けた。そう語るのは、ビットコインブロックチェーンを使用して知...