Java で一般的に使用されているいくつかの暗号化アルゴリズムは、最も強力なハッカーでも解読できません。

Java で一般的に使用されているいくつかの暗号化アルゴリズムは、最も強力なハッカーでも解読できません。

シンプルな Java 暗号化アルゴリズムは次のとおりです。

  • 厳密に言えば、BASE は暗号化アルゴリズムではなく、エンコード形式です。
  • MD (メッセージダイジェストアルゴリズム)
  • SHA (セキュアハッシュアルゴリズム)
  • HMAC (ハッシュメッセージ認証コード)

[[264359]]

1. ベース

Baseは、インターネット上でBitバイトコードを伝送するための最も一般的なエンコード方式の1つです。MIMEの詳細な仕様は、RFC~RFCで確認できます。ベースエンコーディングは、HTTP 環境でより長い識別情報を送信する場合に使用できます。たとえば、Java Persistence システム Hibernate では、Base を使用して、より長い識別子 (通常は 16 ビット UUID) を文字列としてエンコードし、HTTP フォームや HTTP GET URL のパラメータとして使用します。他のアプリケーションでは、バイナリ データを URL に配置するのに適した形式 (非表示のフォーム フィールドを含む) にエンコードする必要があることがよくあります。現時点では、Base エンコーディングは読み取り不可能であり、つまり、エンコードされたデータを肉眼で直接見ることはできません。 (出典:百度百科事典)

Java実装コード:

2. 医学博士

MD は Message-Digest Algorithm の略で、情報伝送の整合性と一貫性を確保するために使用されます。コンピュータで広く使われているハッシュアルゴリズム(要約アルゴリズム、ハッシュアルゴリズムとも訳される)の一つで、主流のプログラミング言語ではMDが一般的に実装されています。ハッシュ アルゴリズムの基本原理は、データ (漢字など) を別の固定長の値に変換することです。MD の前身には、MD、MD、MD などがあります。暗号化および復号化技術で広く使用されており、ファイルの検証によく使用されます。検証? ファイルのサイズに関係なく、MD 後に MD 値を生成できます。たとえば、現在の ISO キャリブレーションはすべて MD キャリブレーションです。どのように使用するのでしょうか? もちろん、ISO が MD を通過した後に MD 値を生成することです。通常、Linux-ISO をダウンロードした友人は、ダウンロード リンクの横に MD 文字列が表示されています。ファイルの整合性を確認するために使用されます。

Java実装:

MD アルゴリズムには次の特性があります。

  • 圧縮: 任意の長さのデータの場合、計算された MD 値の長さは固定されます。
  • 計算が簡単: 元のデータから MD 値を簡単に計算できます。
  • 改変防止: 元のデータに変更を加えると、たとえ数バイトしか変更されなかったとしても、結果として得られる MD 値に大きな違いが生じます。
  • 弱い衝突防止: 元のデータとその MD 値が与えられている場合、同じ MD 値を持つデータ (つまり、偽造されたデータ) を見つけることは非常に困難です。
  • 強力な衝突防止: 同じ MD 値を持つ 2 つの異なるデータを見つけることは非常に困難です。

MD の機能は、デジタル署名ソフトウェアを使用して秘密鍵に署名する前に、大量の情報を機密形式に「圧縮」することです (つまり、任意の長さのバイト文字列を特定の長さの 16 進数字文字列に変換します)。 MD の他に、sha-、RIPEMD、Haval などが有名です。

3番目のタイプ.SHA

セキュア ハッシュ アルゴリズムは、主にデジタル署名標準 (デジタル署名標準 DSS) で定義されているデジタル署名アルゴリズム (デジタル署名アルゴリズム DSA) に適用されます。長さが 1 ビット未満のメッセージの場合、SHA は 1 ビットのメッセージ ダイジェストを生成します。このアルゴリズムは、暗号化の専門家による長年の開発と改良を経て、ますます完成度が高まり、広く使用されるようになりました。このアルゴリズムの考え方は、平文を受け取り、それを不可逆な方法で(通常はより小さい)暗号文に変換することです。これは、入力コードの文字列(事前マッピングまたは情報と呼ばれる)を取得し、それをより短い固定ビット数の出力シーケンス、つまりハッシュ値(メッセージダイジェストまたは情報認証コードとも呼ばれる)に変換するプロセスとして簡単に理解することもできます。ハッシュ関数の値は平文の「指紋」や「要約」とも言えるため、ハッシュ値のデジタル署名は平文のデジタル署名とみなすことができます。

Java実装:

SHAとMDの比較:

どちらも MD から派生しているため、SHA と MD は非常によく似ています。したがって、それらの強度やその他の特性は似ていますが、いくつかの違いがあります。

  • 大きな違いは、SHA ダイジェストが MD ダイジェストよりも長いことです。ブルート フォース手法を使用すると、特定のメッセージのダイジェストと等しいダイジェストを持つメッセージを生成することの難しさは、MD の場合は ^ のオーダーの操作、SHA- の場合は ^ のオーダーの操作です。これにより、SHA-1 の強度が高まります。
  • 暗号解読に対するセキュリティ: MD は設計上、暗号解読攻撃に対して脆弱ですが、SHA- はそのような脅威に対して脆弱ではないようです。
  • 速度: SHA-4 は同じハードウェア上で MD よりも遅く実行されます。

4番目のタイプ。HMAC

HMAC(ハッシュメッセージ認証コード)は、鍵付きハッシュアルゴリズムに基づく認証プロトコルです。メッセージ認証コードの原理は、公開関数と鍵を使用して固定長の値を認証識別子として生成し、この識別子を使用してメッセージの整合性を識別することです。鍵は固定サイズの小さなデータブロック、つまりMACを生成するために使用され、メッセージに追加されて送信されます。受信者は、送信者と共有した鍵を使用して認証などを行います。

Java実装コード:

<<:  謎を解く:AI の神話と現実

>>:  アジャイル開発が機械学習に役立つ5つの方法

ブログ    

推薦する

AIは人間の脳を模倣しています! 2021年のトップ10の会議論文: 脳は「教師なし」でも学習する

神経科学は人工知能の「超進化」の鍵となるのか?ディープラーニングやディープニューラルネットワークが流...

AIは学習しません!ネイチャー誌の最新研究が人工知能のブラックボックスを解読

人工知能(AI)は急速に進歩していますが、人間にとってその強力なモデルは「ブラックボックス」です。モ...

新たな勢力が市場に参入、コンパイラーの巨匠クリス・ラトナーが自らのビジネスを始める

「私たちのチームは、世界最大かつ最先端のテクノロジー企業出身者で構成されています。世界クラスの才能あ...

解読: ボストン ダイナミクスがアルゴリズムを使用してアトラス ロボットの感覚世界を構築する方法

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

人工知能アルゴリズムが構造生物学の難問を解決

新しい人工知能アルゴリズムは、RNA 分子の正しい 3 次元構造を間違ったものから選び出すことができ...

AI の創造性を解き放つ: Replicate プラットフォーム上のトップ AI プロジェクト!

Replicate は、ユーザーがさまざまな人工知能タスクを達成できるようにすることを目的として、...

...

COVID-19パンデミックは不動産業界のインテリジェントな変革とアップグレードを加速させた

[[342701]] スマートホーム革命はかなり前から本格化しています。住宅所有者はデータと IoT...

...

オープン性とクローズ性の戦い: Baidu と Google のどちらの AI プラットフォームが優れているか?

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

計算知能とは何ですか?今日の世界における人工知能と機械学習

テクノロジーは発見に依存し、発見はテクノロジーの進歩に依存します。これは計算知能の文脈ではまさに真実...

人工知能がビジネスに進出

人工知能は、時間の経過とともに改良を続け、世界中の人々から賞賛されてきた、人間の設計の驚異です。 T...

AIの限界を理解することがその可能性を実現する鍵となる

人工知能は多くの業界のワークフローを変革しました。デジタル顧客サービスアシスタント、自動運転車、無人...

...

トークン化ガイド: バイトペアエンコーディング、WordPiece およびその他の方法 Python コードの詳細な説明

2022年11月にOpenAIのChatGPTがリリースされて以来、大規模言語モデル(LLM)が非常...