最終更新:2013-02-07 (木) 02:32:44 (2735d)  

javax.crypto.Cipher
Top / javax.crypto.Cipher

暗号化および復号化?の機能を提供し、JCE? (Java Cryptographic Extension) フレームワークのコアを形成します。

生成

  • Cipher オブジェクトを作成するには、アプリケーションは Cipher の getInstance メソッドを呼び出して、要求された「変換」の名前を渡します。必要に応じて、プロバイダの名前を指定することができます。
  • 「変換」とは、出力を生成するために、指定された入力に対して実行する操作 (または一連の操作) を記述する文字列のことです。変換には常に暗号化アルゴリズム名 (DESなど) が含まれており、フィードバックモードとパディング方式があとに続くことがあります。

変換の形式は次のとおりです。

  • 「アルゴリズム/モード/パディング」、または
  • 「アルゴリズム」
  • 後者の場合、モードとパディング方式についてはプロバイダ固有のデフォルト値が使用されます。有効な変換の例を次に示します。
Cipher c = Cipher.getInstance("DES/CBC/PKCS5Padding");
Cipher c = Cipher.getInstance("DESede/ECB/NoPadding");		

アルゴリズム

モード

  • NONE: モードなし
  • CBC: FIPS PUB 81 で定義された Cipher Block Chaining Mode
  • CFB?: FIPS PUB 81 で定義された Cipher Feedback Mode
  • ECB?: 米国商務省 (NIST) の Federal Information Processing Standard (FIPS) PUB 81「DES Modes of Operation」で定義された Electronic Codebook Mode (1980 年 12 月)
  • OFB?: FIPS PUB 81 で定義された Output Feedback Mode
  • PCBC?: Kerberos バージョン 4 で定義された Propagating Cipher Block Chaining

パッディング

  • ISO10126Padding?: このブロック暗号用パディングは、W3C の「XML Encryption Syntax and Processing」ドキュメントの 5.2 Block Encryption Algorithms に記載されている
  • NoPadding?: パディングなし
  • OAEPWith<digest>And<mgf>Padding: PKCS ♯1? に定義されている Optimal Asymmetric Encryption Padding スキーマ。<digest> はメッセージダイジェスト、<mgf> はマスク生成関数で置き換える(例: OAEPWithMD5AndMGF1Padding)
  • PKCS5Padding?: 「PKCS ♯5?: Password-Based Encryption Standard」バージョン 1.5 (RSA Laboratories、1993 年 11 月) で規定されたパディング方式
  • SSL3Padding?: SSL Protocol バージョン 3.0 のセクション 5.2.3.2 (CBC ブロック暗号) で規定されたパディング方式

参考