Securityパッケージ

 

 

セキュリティ関連のクラスを集めたパッケージです。

 

クラス

 

API

名前

説明

4

Encryptor

暗号化を行います

4

Decryptor

暗号化データの復号化を行います

4

Hash

ハッシュ値を生成します

 

 

暗号化アルゴリズムについて

 

Securityパッケージでサポートされる暗号化アルゴリズムは以下のとおりで、すべてブロック暗号方式です。

 

Blowfishアルゴリズム

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で規定されており、元のデータ長を取り出すことのできるパディング方式です。

 

AESアルゴリズム

アメリカ合衆国の標準規格である連邦情報処理標準規格(FIPS)の一つで、128ビットのブロック暗号化方式です。キーの長さは128ビット、196ビット、256ビットのいずれかとなります。

暗号化キーと一緒に初期化ベクトルを指定するという特徴があります。暗号化毎に異なる初期化ベクトルを指定することで、同じ暗号化キーを使用しても異なる暗号化結果を生成することができます。

 

暗号化の前にデータサイズが16バイトの整数倍となるようにパディングが追加されます。パディング方式はPKCS#7を用いています。

 

ハッシュアルゴリズムについて

 

Securityパッケージでサポートされるハッシュアルゴリズムは以下のとおりです。

iOS版
CommonCryptoに依存しています。

Android版
java.security.MessageDigestクラスに依存しています。

Windowsタブレット版
Windows Crypto APIに依存しています。

 

SHAアルゴリズム

米国標準のハッシュアルゴリズムです。160ビットのダイジェストを作成します。

 

MD5アルゴリズム

RSA社のRives氏により考案されたアルゴリズムで、128ビットのダイジェストを作成します。異なるデータから同一のダイジェストを生成する確立がMD4よりも低く、良質なダイジェストを生成できます。

 



「オンラインマニュアル」一覧へ戻る
「Bizの宝箱」TOPへ戻る