ZIPの暗号化に用いられるZipCrypto形式について

ZIPにパスワードをかける場合には、通常、ZipCryptoといわれる独自の方式が採用されます。このZipCryptoは、Traditional PKWARE Encryptionという形式で、WindowsXPのパスワードなどのZIP暗号化にも採用されていました。

比較的、解析が容易なZipCrypto


このZipCryptoといわれるパスワード方式は解析も比較的、簡単です。ビット数の割りには解読が容易であるため、単純にパスワードの強度を求めるのであれば、他のPDFやOffice形式のファイルで採用されているようなAES形式のパスワードのほうが無難です。

AES形式のパスワードは、実はZIPのパスワードにも使うことが可能で、Explzhなど一部の有料ライセンスソフトでは、ZIPファイル(バージョン5.2以降)にAES形式のパスワードをかけることは可能です。しかし、ZIPファイルにAES形式の暗号をかけてしまうと、Windowsの標準機能では解凍できなくなってしまい、専用のファイルが必要になるなど、利便性が落ちてしまいます。

この背景としては、ZIPに関してはPKWARE社の特許があるため、ZIPファイルにAES形式のパスワードをかけるソフトや解凍ソフトがなかなか、フリーソフトでは流通しないことが理由のようです。


脆弱性が指摘されているzipcrypto

上記でもご説明したように、Zipcryptoは「解析が比較的容易」といわれているように、多少の時間を掛けさえすればZIPファイルに設定したパスワードを解析できてしまいます(パスワードとして設定した文字列の「桁数」にも拠りますが、今普及している有料のパスワード解析ソフトを使えば、時間さえ掛ければかんたんにパスワードを割り出せます)。そのため、一部ではZipcryptoの暗号アルゴリズムとしての脆弱性が指摘されています。


暗号アルゴリズムの「強度」という意味では、Zipcryptoと比較した場合、「AES-256」等の方が信頼性があるといえるかもしれません。「AES-256」の詳細については以下のページでもご紹介しているので参考にしていただければと思います。

Zipファイルを暗号化する「AES-256」とは?