ホームページ  >  記事  >  Java  >  Java暗号化・復号化技術の分類と概要を詳しく解説

Java暗号化・復号化技術の分類と概要を詳しく解説

Y2J
Y2Jオリジナル
2017-05-17 09:13:271209ブラウズ

この記事は主に Java 暗号化と復号化の基本的な分類方法によってまとめられた関連情報を紹介します。必要な友人はそれを参照してください

Java 暗号化と復号化の基礎:

暗号化 は、パスワードの準備と解読を研究します。通信の秘密を守るためのコードの編集に適用される、パスワード変更の客観的法則の研究は暗号化と呼ばれ、通信インテリジェンスを取得するためのコードの解読への適用は解読と呼ばれ、一般に暗号化と呼ばれます。

暗号の一般用語

平文: 暗号化されるデータ。

暗号文: 平文は暗号化されたデータです。

暗号化: 平文を暗号文に変換するプロセス。

暗号化アルゴリズム: 平文を暗号文に変換する変換アルゴリズム。

暗号化キー: 暗号化アルゴリズムを通じて暗号化操作を実行するために使用されるキー。

復号化: 暗号文を碑文に変換するプロセス。

復号化アルゴリズム: 暗号文を平文に変換する変換アルゴリズム。

復号化キー: ショートヘアを復号化して復号化操作を実行するためのキー。

暗号分類

1. 古典的なパスワード: 文字が基本的な暗号化単位です。

b. 最新の暗号化: 情報ブロックは基本的な暗号化単位です。


2 を機密コンテンツのアルゴリズムで割ったもの

a. 制限付きアルゴリズム: アルゴリズムの機密性は、アルゴリズムを秘密に保つことに基づいています。

b. キーベースのアルゴリズム: アルゴリズムの機密性はキーの機密性に基づいています。


3. 鍵システムによる分割

a. 対称暗号システム: 単一鍵暗号システムまたは秘密鍵暗号システムとも呼ばれ、暗号化プロセスと復号化プロセスは同じ鍵セットを使用します。対応するアルゴリズムは、DES や AES などの対称暗号化アルゴリズムです。

b. 非対称暗号化: 二重鍵暗号化または公開鍵暗号化とも呼ばれ、暗号化プロセスと復号化プロセスでは異なる鍵が使用されます。対応するアルゴリズムは、RSA などの非対称暗号化アルゴリズムです。


4. 平文処理方法による分割

a. ストリーム暗号: シーケンス暗号とも呼ばれ、一度に 1 バイトまたは 1 バイトの平文を暗号化します。たとえば、RC4 アルゴリズムです。

b.


グループ

パスワード: 暗号化する場合、平文は固定長のグループに分割され、各グループの暗号化に同じ鍵とアルゴリズムが使用され、出力も固定長の平文になります。最後のグループ サイズが指定されたグループ サイズを満たさない場合、 には 2 つの処理モードがあります。

残りのデータを直接暗号化するパディングなしモード。このグループの暗号化されたサイズは残りのデータに関連します。

指定されたグループの長さを満たさないデータを埋める充填モードがあります。データの最後のグループが指定されたグループ サイズと同じである場合は、指定された


のグループを直接追加します。サイズ; 埋め込みの最後のバイトには、パディング ワードのセクション番号が記録されます。

ブロック暗号動作モード
はじめに

1. 電子コードブックモデル - ECB

この方法で暗号化する場合、各グループは暗号化されます。パケットの暗号化は相互に干渉することなく独立して実行されるため、並行して実行できます。また、各グループは独立して暗号化されるため、同じ平文グループは暗号化後は同じ暗号文になります。このモードは、平文グループ化の統計的規則性と構造的特徴を簡単に明らかにします。置換攻撃からは保護されません。
実際、実装によれば、ECB のプロセスは、平文をグループ化し、次にそれらを個別に暗号化し、最後にそれらをつなぎ合わせるプロセスにすぎません。メッセージ長が 1 パケットを超える場合、このモードは推奨されません。各グループにランダム ビット (128 ビット グループ内の 96 ビットの有効な平文と 32 ビットの乱数など) を追加すると、セキュリティがわずかに向上しますが、暗号化プロセス中にデータの拡張が発生することは間違いありません。


利点:

2. 並列コンピューティングに役立つ

欠点:

1. 平文を隠すことはできませんモード;


2. 平文に対するアクティブな攻撃の可能性;


2. 暗号ブロック リンク モード - CBC

の最初のグループと初期化ベクトルが XOR された後。再暗号化では、後続の平文の各セットが以前の暗号文のセットと XOR 演算されてから暗号化されます。 IV は秘密にする必要はなく、暗号文とともに平文で送信できます。

利点:


1. 積極的な攻撃が難しく、ECB よりも安全で、長いメッセージの送信に適しており、SSL および IPSec の標準です。

欠点:

1. 並列計算には適さない;


3. 初期化ベクトル IV

が必要。 CFB

初期化ベクトル IV が必要です。暗号化後、最初のグループの平文に対して XOR 演算が実行され、最初のグループの暗号文が暗号化され、2 番目のグループの平文に対して XOR 演算が実行されます。暗号化が完了するまで、暗号文の 2 番目のグループをラップします。

利点:
1. 平文モードを非表示にする。


3. パケットより小さいデータを暗号化して送信できる。欠点:


1. 並列計算には適さない;


2. 1 つの平文ユニットへの損傷は複数のユニットに影響を与える;

4. 出力フィードバック モード。 OFB

初期化ベクトル IV が必要です。暗号化後、この暗号化データは最初のグループ化された平文と XOR 演算されて暗号文の最初のグループが生成されます。 2 回目は 2 番目の暗号化データが取得され、2 番目の暗号化データと 2 番目の平文セットが XOR 演算されて 2 番目の暗号文セットが生成され、暗号化が完了するまで続きます。


利点:


1.平文モードを非表示にする;

2.ブロック暗号をストリームモードに変換する;

3.時間内にパケットより小さいデータを暗号化して送信できる;


:
1. 平文に対する積極的な攻撃が可能です。


5. 1 つの平文ユニットへのダメージは、複数のユニットに影響します。 - -CTR


カウンターを使用すると、カウンターの初期値が暗号化され、平文の最初のセットと XOR 演算されて、暗号文の最初のセットが生成されます。

カウンターはインクリメントされ、暗号化後に XOR 演算されます。次の平文セットを使用して次のセット暗号文を生成するなど、暗号化が完了するまで続きます

利点:

1. 並行して計算できます。

2. CBC モードとして優れています。

3. 暗号化アルゴリズムを使用する暗号化のみです。

1. エラーの伝播がなく、データの整合性を確保するのが容易ではありません。パディングメソッド

PKCS5:
文字列
を a でパディングします。これは、値が 5 のバイトのシーケンスで構成され、各バイトがバイト シーケンスの長さを埋めます。ブロックのサイズは 8 ビットであると明確に定義されています

PKCS7: パディング文字列は値 7 のバイト シーケンスで構成され、各バイトはバイト シーケンスの長さをパディングします。ブロックのサイズは未定義で、1 ~ 255 の範囲で指定できます

ISO10126: パディング文字列はバイト シーケンスで構成され、このバイト シーケンスの最後のバイトでバイト シーケンスの長さが埋められ、残りのバイトはランダムで埋められますデータ。


【関連する推奨事項】

1.

特別な推奨事項


:

「php Programmer Toolbox」V0.1 バージョンのダウンロード

2.
Java アノテーションの包括的な分析

以上がJava暗号化・復号化技術の分類と概要を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。