この記事は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人の最新の成果:光を使って脳の認知を変える
一般の人々は自動運転車についてどう思っているのだろうか?市場調査会社CarGurusは最近、将来の自...
[[420239]] 2011年7月14日、紅旗HQ3は長沙から武漢までの286キロの高速道路を疾...
データベース大手のオラクルは最近、Oracle Cloud Infrastructure Gener...
最近、ルカン氏を含む一群の大物が再びLLMを攻撃し始めた。最新のブレークスルーは、LLM にはまった...
進化するヘルスケアとテクノロジーの世界では、「感情 AI」と呼ばれる画期的なイノベーションが変化の兆...
Ogilvy は、ロボティック プロセス オートメーションと Microsoft のビジュアル AI...
IoT とロボティクスはそれぞれ単独でもビジネス組織に多くの利点をもたらしますが、組み合わせて使用...
2023 年の ACM フェローが発表されました。先ほど、米国計算機協会 (ACM) は、2023...
2020年銀川国際スマートシティ博覧会において、銀川市政府は百度に、同市初のインテリジェントコネク...
自動運転技術の開発は常に議論の的となっています。自動運転の将来に関して、避けて通れない話題が1つあり...
少し前に、オープンソースのビッグモデル分野に新しいモデル「易」が導入されました。このモデルはコンテキ...
2030年までに人口の60%が都市部に住むようになると推定されています。現在そして将来に必要な条件は...