編集者注: この記事は、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 文字でも変更すると、最終結果も大幅に変わります。 |
<<: エバン・インターナショナルの「執着」:エバンは次の「カナン」となるか?
>>: 半減期後、ビットコインのマイニングはどうなるのでしょうか?あなたのための包括的な分析
過去数日、皆さんは次のニュースに気づいたかもしれません。中国のスーパーコンピューター「Sunway ...
R3ブロックチェーンコンソーシアムの10の銀行が、分散型台帳に基づくKYC(顧客確認)レジストリのテ...
この記事はThe Blockからのもので、著者はFrank Chaparroです。翻訳者:ユウ・シュ...
クレイジーな解説: ブロックチェーンとスマートコントラクト技術の幅広い応用により、この分野の参加者は...
最近、元ビットコイントレーダーのオランダ人エドウィン・ファン・デル・ブロム氏は果てしない後悔に陥って...
チアパラメータ名前: チア中国語名:チア略称: XCH ICOですか: いいえ採掘前:戦略的準備金と...
オンチェーン・キャピタルの創設者ラン・ニューナー氏によると、「デジタルゴールド」とも呼ばれるビットコ...
「1枚のコインに1つの別荘」は、最近ビットコイン界で非常に人気のあるフレーズです。ビットコインの将...
世界の二次市場に長く浸ってみれば、テクノロジー資産を主成分とするナスダック指数が1か月前に相対的に高...
電源モデル: Corsair TX750ブランド: コルセア定格電力: 750W電源外観外観コンポー...
中国ビジネスニュースによると、カナンクリエイティブは世界初の7nmチップが量産段階に入ったと発表した...
「両社は『電気供給事業許可』を取得しておらず、許可なく送電線を設置して電力を供給するのは、典型的な違...
新興産業に対する法整備のペースが加速している。多くの政府がChatGPTのリスクに気付いている中、生...
7月9日、公安部サイバーセキュリティ局は「テレグラムデジタル通貨裁定取引」の刑事事件を発表し、業界で...
トランプ大統領が、国境検問所で旅行者の携帯電話を検査するという米国税関・国境警備局(CBP)の方針を...