セキュリティ関連のクラスを集めたパッケージです。
名前 |
説明 |
Version |
||
PC |
|
AI |
||
暗号化を行います |
4.1.0 |
2.0.0 |
1.0.0 |
|
暗号化データの復号化を行います |
4.1.0 |
2.0.0 |
1.0.0 |
|
ハッシュ値を生成します |
4.1.0 |
2.0.0 |
1.0.0 |
Securityパッケージでサポートされる暗号化アルゴリズムは以下のとおりで、すべてブロック暗号方式です。
PC版およびMobile版ではブロック暗号化モードは、暗号ブロック連鎖モード(CBC)方式を採用しています。また、DES,トリプルDES、RC2のアルゴリズムについては、Windowsの持つセキュリティAPI機能に依存しており、Microsoft Enhanced Cryptographic Providerがインストールされていない環境では利用できません。Microsoft Enhanced Cryptographic Providerは、米国からのセキュリティ製品輸出が制限された、一部の地域や国では利用できない場合があります。
Android版ではDES、トリプルDES-EDE方式での暗号化にAndroid標準ライブラリであるjavax.crypto.Cipherクラスを使用しています。そのため、PC版およびMobile版との間でデータ形式の互換がありません。ご注意ください。
ではサポートされていません
Bruce Schneuer氏が考案した、32〜448ビットの可変長キーを持つ、64ビットのブロック暗号方式です。インターネット上で広く利用されているオープンソースのアルゴリズムです。
なお、通常のモード(Encryptor.CALG_BLOWFISH)ではBiz/Browser独自のヘッダが追加され、復号化の際に削除されます。
ヘッダを付与したくない場合はRawモード(Encryptor.CALG_BLOWFISH2)を用いることでヘッダを付与せずにデータのみを出力可能です。
この場合、Blowfishの特性上、暗号化前のデータにサイズが8バイトの整数倍となるようにパディングが追加されるため、何らかの形で暗号化前のファイルサイズを保持しておき、復号化後にパディングを除去してください。
Rawモードにおいて復号化後のデータサイズが不明である欠点を補うため、PKCS#5パディングモード(Encryptor.CALG_BLOWFISH3)が追加されました。
PKCS#5パディングはRFC1423で規定されており、元のデータ長を取り出すことのできるパディング方式です。
ではサポートされていません
56ビットの固定長キーを持つ、64ビットのブロック暗号方式です。鍵のビット長が短いため、鍵の総当りが現実的な時間内で実行可能という脆弱性を持っています。
DESの脆弱性を解決するために考案された方式で、DESアルゴリズムを3回通す方式です。3つの異なるキーを利用するE-E-E方式と、2個の異なるキーを利用するE-D-E方式があります。
ではE-E-E方式はサポートされていません
RSA社で開発されたアルゴリズムで、可変長のキーを持つ64ビットのブロック暗号方式です。Securityパッケージでは、Microsoft Enhanced Cryptographic Providerの標準値である128ビットのキー長を使用しています。
ではサポートされていません
Securityパッケージでサポートされるハッシュアルゴリズムは以下のとおりです。
PC版, Mobile版ではWindowsのセキュリティAPI機能に、Android版ではjava.security.MessageDigestクラスに依存しています。
米国標準のハッシュアルゴリズムです。160ビットのダイジェストを作成します。
RSA社のRives氏により考案されたアルゴリズムで、128ビットのダイジェストを作成します。
ではサポートされていません
RSA社のRives氏により考案されたアルゴリズムで、128ビットのダイジェストを作成します。異なるデータから同一のダイジェストを生成する確立がMD4よりも低く、良質なダイジェストを生成できます。