MD5 アルゴリズムを誤解している可能性があります。

MD5 アルゴリズムを誤解している可能性があります。

[[404109]]

この記事はWeChatの公開アカウント「Lean Coder」から転載したもので、著者はattuteiの別名です。この記事を転載する場合は、Lean Coder の公開アカウントにご連絡ください。

「MD5 暗号化」は単なる言葉です。MD5 は暗号化アルゴリズムではなく、ダイジェスト アルゴリズムです。

今日は、Xiaomajia が暗号化アルゴリズムとダイジェストアルゴリズムの定義とシナリオを整理します。

答えは次のとおりです。

暗号化アルゴリズムの目的は、他人が暗号化されたデータを閲覧できないようにし、必要に応じてデータを復号化して再度閲覧できるようにすることです。

MD5 アルゴリズムはハッシュ アルゴリズムです。ハッシュ アルゴリズム自体の設計目的により、ほとんどの場合、元に戻すことはできません。つまり、ハッシュ アルゴリズムを通じて取得したデータは、どのアルゴリズムでも復元できません。したがって、データを復元できないので、それを復号化と呼ぶことはできません。また、復号化できないので、ハッシュ処理を当然 [暗号化] と呼ぶことはできません。

暗号化アルゴリズム

暗号化: 元の情報を特殊なアルゴリズムで変更し、権限のないユーザーが暗号化された情報を入手したとしても、復号化方法がわからないため、情報の内容を理解することはできません。

復号化: 暗号化の逆のプロセスが復号化であり、暗号化された情報を元の情報に変換するプロセスです。

暗号化アルゴリズムは、対称暗号化と非対称暗号化に分けられます。対称暗号化アルゴリズムの暗号化キーと復号化キーは同じですが、非対称暗号化と復号化キーは異なります。

HTTPS は非対称暗号化と対称暗号化の両方を使用します。接続確立フェーズでは、非対称暗号化と復号化が使用され (キーが閲覧されないように保護するため)、通信フェーズでは対称キーを使用してデータが暗号化および復号化されます。

ダイジェストアルゴリズム

要約アルゴリズム。ハッシュ アルゴリズムまたはハッシュ アルゴリズムとも呼ばれます。関数を通じて、任意の長さのコンテンツが固定長のデータ文字列に変換されます。

ダイジェスト アルゴリズムがデータの改ざんの有無を判断できるのは、ダイジェスト関数が一方向関数であるためです。計算は簡単ですが、ダイジェストからデータを推測するのは非常に困難です。さらに、元のデータに少しでも変更を加えると、計算されたダイジェストはまったく異なるものになります。

Xunlei を使用して映画をダウンロードすると、ダウンロード サイトから MD5 検証コードも提供されます。

MD5 検証ツールを探し、ダウンロードしたファイルに対して MD5 アルゴリズムを実行し、得られたハッシュ値をダウンロードサイトに添付されている MD5 値と比較します。値が同じであれば、Web サイトからダウンロードしたファイルは破損していないことを意味します。

HMAC

キーとハッシュ関数を組み合わせたリクエスト認証スキームについて説明します。

HMAC (ハッシュベースのメッセージ認証コード)

多くのサードパーティ プラットフォームは、この認可および認証スキームを使用しています。API プラットフォームを思い出してください。AppID 選択キーのペアが頻繁に提供されますか?

1. クライアントとサーバーの両方が秘密鍵を知っている

2. クライアントがリクエストを行うたびに、(リクエストデータ + 秘密鍵)のハッシュ値が生成される。

HMAC = hashFunc(秘密鍵 + メッセージ)

3. クライアントはリクエストの一部としてハッシュ値を送信する

4. サーバーはリクエストを受信すると、(受信したリクエスト + 検索された Serctkey) のハッシュを生成し、計算されたハッシュ値をリクエストに添付された元のハッシュ値と比較します。同じ場合、リクエストは信頼できるクライアントからのものであり、改ざんされていないと判断されます。

なぜこのようなことが起こるのでしょうか?

まず、クライアントとサーバーのハッシュ値は同じです。ハッシュ アルゴリズムの元の設計によれば、これはリクエスト プロセスが改ざんされていないことを意味します。

一方、クライアントとサーバーは同じ Serct Key (これは個人情報です) を使用していると推測できるため、ここでクライアントから送信されたリクエストを拒否することはできません。

クライアントがハッシュを生成するときにタイムスタンプを追加することも検討できます (リクエストにもこのタイムスタンプが付随している必要があります)。サーバーはそれを受信した後、最初にサーバーのタイムスタンプとリクエストのタイムスタンプを比較し、有効なリクエストを 15 秒以内に制限します。次に、サーバーは (リクエスト メッセージ + 選択キー + タイムスタンプ) のハッシュを生成し、リプレイ攻撃を回避するためにハッシュを比較します。

要約する

この記事で紹介した例 (HTTPS、Thunder MD5 チェックサム) は、暗号化アルゴリズムとダイジェスト アルゴリズムの設計目的を理解するのに十分です。

暗号化アルゴリズムの目的は、情報が覗き見されるのを防ぐことです。ダイジェストアルゴリズムの目的は、情報が改ざんされるのを防ぐことです。

将来、それをより効果的に活用できるようになり、面接中に恥をかくこともなくなります。

最後に紹介するWebAPI認証スキームHMACは、キー+ハッシュアルゴリズムを組み合わせたアプリケーションシナリオであり、高速性と自己署名の特徴を備えています。

<<:  オンラインゲームの依存症対策システムは「破られた」のか?記者調査:ネット上で「顔認証」サービスを提供、実名なしでゲームにログインできると主張

>>:  「思考スタンプ」が実現!中国とアメリカの科学者33人の最新の成果:光を使って脳の認知を変える

ブログ    
ブログ    

推薦する

アラスカ航空は人工知能を活用して時間、燃料、費用を節約

[[405121]] 【51CTO.com クイック翻訳】企業の AI プロジェクトの失敗率が 85...

機械学習アルゴリズムが NDA の法的分析テストで 20 人の弁護士に勝利

ロボット工学と人工知能の発展により、多くの仕事が機械に置き換えられるでしょう。機械は、一部のタスク、...

2018 年に知っておくべき 15 の人工知能統計

人工知能(AI)は日々驚異的な速度で成長しており、それに伴い、さまざまな業界を取り巻く統計も変化して...

最も暑い夏の日がやってきました。ドローンを飛ばすのに最適な時期です

さて、一年で最も暑い時期、真夏が正式に到来しました。今年の猛暑は7月11日から8月19日までの40日...

OpenAI の Whisper モデルを使用して音声をテキストに変換する

翻訳者 |ブガッティレビュー | Chonglou図1. OpenAI Whisperモデルの動作原...

2015年に中国の電子商取引消費者に最も優しい製品が発表されました:ビッグデータアルゴリズム+専門家のコメント=優れた中国のデザイン

消費者の実際の購買行動や実際のユーザーレビューのビッグデータ分析に基づいた中国初の「2015年中国電...

三方からのアプローチ! AIがサイバーセキュリティを強化

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

機械学習が金融業界に与える影響

過去 10 年間で、金融業界ではこれまでにない最先端のテクノロジーが数多く導入されました。この変化は...

人工知能が買い物をより簡単にする

[51CTO.comより] 中国共産党第19回全国代表大会で「インターネット、ビッグデータ、人工知能...

2021年の主なAIトレンド:AIチップスタートアップのM&Aの可能性

人工知能 (AI) と機械学習は、テクノロジーの意思決定者、業界の専門家、投資家にとって引き続き注目...

ディープラーニングの問題を無視してはいけない。ゲイリー・マーカスはそれに冷水を浴びせる義務がある

ニューヨーク大学の心理学教授であるゲイリー・マーカス氏は、かつてウーバーの人工知能研究所の所長を務め...

ディープラーニングニューラルネットワークによる予測区間

[[390133]]予測区間は、回帰問題の予測における不確実性の尺度を提供します。たとえば、95% ...

Hugging FaceはLLM向けの新しいGitHubです

翻訳者 |李睿レビュー | Chonglou大規模言語モデル(LLM)は近年テクノロジー業界に旋風を...

透明な AI の出現は、あなたのあらゆる行動が他人の目に留まることを意味します。

6月14日の英国デイリーメール紙によると、透視型の人工知能(AI)の開発に成功し、近々公開される予...