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つの方法

ブログ    

推薦する

...

Google: より多くのデータはより優れたアルゴリズムに勝ります!

Google が発表した新しい研究論文では、音声検索や YouTube 動画へのテキスト説明やタグ...

人工知能XiaoIceが繊維企業向けにオンデマンドカスタマイズを実現するAIデザインプラットフォームを開設

9月23日、2020年中国国際紡織品・アクセサリー(秋冬)博覧会で、高級生地メーカーの陸豊織染が人工...

人工知能、遺伝子編集、ノーベル賞の画期的な進歩により、80歳でも40歳に見えるようになる

年齢を重ねるにつれ、老化を遅らせて若さを取り戻すことが多くの人の夢となります。 クレオパトラにしろ、...

JavaScript による機械学習の例 10 選

年を追うごとに、機械学習用のライブラリはより高速かつ使いやすくなっています。 Python は長い間...

F5、AI時代のアプリケーションセキュリティの新たな革命をリード

サンノゼ — 2024年2月20日— F5(NASDAQ: FFIV)は先日、アプリケーションセキュ...

予測:2022年のモノのインターネットの発展における3つの主要な技術トレンド

IoT がどのように発展していくかを予測することは困難ですが、一部の IoT テクノロジーは数年以内...

...

自動運転がどんどん近づき、高精度地図の実用化も加速

近年、自動運転技術の急速な発展とインテリジェントコネクテッドカーの導入が進む中、鍵となる高精度地図の...

Linuxに顔認識ログインを追加する方法

最近、Deepin OS 20.05がリリースされ、追加された顔認識機能がコミュニティの注目を集めて...

...

清華大学:過去10年間の人工知能の発展の概要:中国は急速な進歩を遂げ、その特許は世界の70%を占める

1. 急速な発展の10年1. 論文の発表状況<br /> 人工知能は過去10年間で急速に...

...

心理測定分析における AI とビッグデータの活用

心理測定分析における AI とビッグデータの活用人工知能 (AI) とビッグデータは、採用担当者が個...

それは単なるアルゴリズムとモデルですか?これらのポイントによりAIを徹底的に理解できる

現在、AIはデジタル変革においてより重要な役割を果たしています。デジタル変革プロセス全体は、「クラウ...