ホームページ >Java >&#&チュートリアル >Java 暗号化と復号化の基本的な分類とモデルの概要を共有する
この記事は主に Java 暗号化と復号化の基本的な分類方法によってまとめられた関連情報を紹介します。必要な友人はそれを参照してください
Java 暗号化と復号化の基礎:
暗号化 は、パスワードの準備と解読を研究します。通信の秘密を守るためのコードの編集に適用される、パスワード変更の客観的法則の研究は暗号化と呼ばれ、通信インテリジェンスを取得するためのコードの解読への適用は解読と呼ばれ、一般に暗号化と呼ばれます。
暗号の一般用語
平文: 暗号化されるデータ。
暗号文: 平文は暗号化されたデータです。
暗号化: 平文を暗号文に変換するプロセス。
暗号化アルゴリズム: 平文を暗号文に変換する変換アルゴリズム。
暗号化キー: 暗号化アルゴリズムを通じて暗号化操作を実行するために使用されるキー。
復号化: 暗号文を碑文に変換するプロセス。
復号化アルゴリズム: 暗号文を平文に変換する変換アルゴリズム。
復号化キー: ショートヘアを復号化して復号化操作を実行するためのキー。
暗号分類
1. 古典的なパスワード: 文字が基本的な暗号化単位です。
2 を機密コンテンツのアルゴリズムで割ったもの
a. 制限付きアルゴリズム: アルゴリズムの機密性は、アルゴリズムを秘密に保つことに基づいています。
3. 鍵システムによる分割
a. 対称暗号システム: 単一鍵暗号システムまたは秘密鍵暗号システムとも呼ばれ、暗号化プロセスと復号化プロセスは同じ鍵セットを使用します。対応するアルゴリズムは、DES や AES などの対称暗号化アルゴリズムです。
4. 平文処理方法による分割
a. ストリーム暗号: シーケンス暗号とも呼ばれ、一度に 1 バイトまたは 1 バイトの平文を暗号化します。たとえば、RC4 アルゴリズムです。
には 2 つの処理モードがあります。
残りのデータを直接暗号化するパディングなしモード。このグループの暗号化されたサイズは残りのデータに関連します。
のグループを直接追加します。サイズ; 埋め込みの最後のバイトには、パディング ワードのセクション番号が記録されます。
ブロック暗号の動作モードの紹介
1. 電子コードブックモデル - ECB
このように、各グループは同じ鍵を使用して個別に暗号化されます。相互に干渉することなく独立して実行できるため、並行して実行できます。また、各グループは独立して暗号化されるため、同じ平文グループは暗号化後は同じ暗号文になります。このモードは、平文グループ化の統計的規則性と構造的特徴を簡単に明らかにします。置換攻撃からは保護されません。
利点:
2. 並列コンピューティングに役立つ
欠点:
2. 暗号ブロック リンク モード - CBC
利点:
1. 積極的な攻撃が難しく、ECB よりも安全で、長いメッセージの送信に適しており、SSL および IPSec の標準です。
3. 初期化ベクトル IV
が必要。 CFB
初期化ベクトル IV が必要です。暗号化後、最初のグループの平文に対して XOR 演算が実行され、最初のグループの暗号文が暗号化され、2 番目のグループの平文に対して XOR 演算が実行されてラップされます。暗号化が完了するまで、暗号文の 2 番目のグループが続きます。
3. パケットよりも小さいデータを暗号化して送信できます。
欠点: 1 つの平文ユニットが損傷すると、複数のユニットに影響します。
4. 出力フィードバック モード - OFB
は、暗号化後、最初の暗号化データが XOR 演算によって生成されます。最初のグループ化された平文が 2 回目に暗号化されて 2 番目の暗号化データが取得され、2 番目の暗号化データが 2 番目の平文と XOR 演算されて 2 番目の暗号文が生成されます。暗号化が完了しました。
利点:
1.平文モードを非表示にする;
2.ブロック暗号をストリームモードに変換する;
3.時間内にパケットより小さいデータを暗号化して送信できる;
カウンターを使用すると、カウンターの初期値が暗号化され、平文の最初のセットと XOR 演算されて、暗号文の最初のセットが生成されます。
利点:
1. 並行して計算できます。
2. CBC モードとして優れています。
PKCS5: パディング文字列は次の値で構成されます。これは 5 バイトのシーケンスで構成され、各バイトがバイト シーケンスの長さを埋めます。ブロックのサイズは 8 ビットであると明確に定義されています
PKCS7: パディング文字列は値 7 のバイト シーケンスで構成され、各バイトはバイト シーケンスの長さをパディングします。ブロックのサイズは未定義で、1 ~ 255 の範囲で指定できます
ISO10126: パディング文字列はバイト シーケンスで構成され、このバイト シーケンスの最後のバイトでバイト シーケンスの長さが埋められ、残りのバイトはランダムで埋められますデータ。
この記事がお役に立てば幸いです
以上がJava 暗号化と復号化の基本的な分類とモデルの概要を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。