暗号化Zipについて

1,390 views
Skip to first unread message

Kdroid

unread,
Jun 7, 2011, 10:04:19 AM6/7/11
to 日本Androidの会
はじめまして。
Kdroidと申します。

現在アプリを作っているのですが、暗号化Zipのファイルを作ろうと考えて
います。

Info-ZIPがC言語で提供しているソースの暗号化・復号化の部分(zipcloak)を
JAVAに移植した例を見つけたのですが、その他の方法をご存知の方がいらっしゃい
ましたら、ご教授ください。

ラインセンスや暗号化方式など、様々な観点で検証をしたいと考えており、
色々な方法を探しております。

宜しくお願いします。

yoshiyuki kanno

unread,
Jun 8, 2011, 2:45:38 AM6/8/11
to android-g...@googlegroups.com
菅野です。

英語になりますが、以下のスレッドに出てくるapache2.0ライセンスのライブラリは検証に値するかもです。
ただし、対応している暗号化方式はAES2のみになります。

■スレッド

他に残された選択肢としては、java.util.zipパッケージを拡張して、暗号、復号化の部分をJCEを利用して自前実装でしょうか。
(おそらくkdroidさんが見つけられた移植例と似た様な実装になると思われます)

2011年6月7日23:04 Kdroid <takada.d...@gmail.com>:

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。


Yoshiaki Okuyama

unread,
Jun 8, 2011, 3:08:53 AM6/8/11
to android-g...@googlegroups.com
奧山です。

初めまして。

パスワード付きZipについてプログラムに組み込み動作するか
試していたので展開します。

結論から言うと以下のライブラリは利用できました。
http://sourceforge.jp/frs/index.php?group_id=5605

ライセンスもApache2ライセンスなので商用利用されるとしても
問題ないでしょう。

以下はプログラムに組み込み性能測定した結果です。

Desire HDでAes ZIPを使ったパスワード付き圧縮を行ったところ

サンプルプログラムを動作させた時の性能
ファイル1つ 1バイト圧縮 2700ms
ファイル1つ 10000バイト圧縮 2900ms
ファイル1つ 40000バイト圧縮 3050ms

ファイル2つ 1バイト圧縮 4000ms
ファイル3つ 1バイト圧縮 5400ms
ファイル4つ 1バイト圧縮 7000ms

ここから予想すると、
ZIPファイル作成処理の初期化処理 1400ms
ファイル追加毎 1400ms
1kb圧縮 10ms
程度掛かっていると想像できます。

ファイル長は、40KB程度ではほとんど影響が出ませんでした。
  どちらかと言うと、ファイルの個数が増える方が性能面で問題
  になるように見えます。

思ったより待たされるので、ファイルの圧縮中の確認がないと、
  UIがフリーズします。

  プログレスバーなどの表示がないとユーザが進行状況を
  確認できず使いにいものにならないと思います。

タブが整理されていないのは、元々自分メモ用に作ったものなので
ご容赦ください。

2011年6月8日15:45 yoshiyuki kanno <neko...@gmail.com>:

--
おくやま okuy...@gmail.com

Kdroid

unread,
Jun 8, 2011, 8:13:22 AM6/8/11
to 日本Androidの会
菅野さん

情報ありがとうございます。

AES2だけなんですね。
確かな数字データを持ってはいるわけではないですが、PKZIPストリーム暗号 (Traditional PKWARE Encryption)の
ほうが普及しているという話もあるようで、悩ましいところです。
AESのほうが強度がありそうなんですが。。。
検討してみます。

java.util.zipパッケージを拡張する手もあるのですね。
参考になります。


では。


On 6月8日, 午後3:45, yoshiyuki kanno <nekota...@gmail.com> wrote:
> 菅野です。
>
> 英語になりますが、以下のスレッドに出てくるapache2.0ライセンスのライブラリは検証に値するかもです。
> ただし、対応している暗号化方式はAES2のみになります。
>
> ■スレッドhttp://stackoverflow.com/questions/166340/write-a-password-protected-...
> ■winsipaeshttp://code.google.com/p/winzipaes/
>
> 他に残された選択肢としては、java.util.zipパッケージを拡張して、暗号、復号化の部分をJCEを利用して自前実装でしょうか。
> (おそらくkdroidさんが見つけられた移植例と似た様な実装になると思われます)
>
> 2011年6月7日23:04 Kdroid <takada.dachs....@gmail.com>:

Kdroid

unread,
Jun 8, 2011, 8:16:31 AM6/8/11
to 日本Androidの会
奥山さん

情報ありがとうございます。
そして貴重な測定データもありがとうございます。非常に参考になります。

AESは性能も考慮しないといけなさそうですね。
検討してみます。
> 2011年6月8日15:45 yoshiyuki kanno <nekota...@gmail.com>:
>
>
>
>
>
>
>
>
>
> > 菅野です。
> > 英語になりますが、以下のスレッドに出てくるapache2.0ライセンスのライブラリは検証に値するかもです。
> > ただし、対応している暗号化方式はAES2のみになります。
> > ■スレッド
> >http://stackoverflow.com/questions/166340/write-a-password-protected-...
> > ■winsipaes
> >http://code.google.com/p/winzipaes/
> > 他に残された選択肢としては、java.util.zipパッケージを拡張して、暗号、復号化の部分をJCEを利用して自前実装でしょうか。
> > (おそらくkdroidさんが見つけられた移植例と似た様な実装になると思われます)
> > 2011年6月7日23:04 Kdroid <takada.dachs....@gmail.com>:
> おくやま okuya...@gmail.com
Reply all
Reply to author
Forward
0 new messages