WinZip's encryption facility gives you a way to protect sensitive documents contained in your archives from unauthorized viewing. The contents of the files that you want to protect are encrypted by WinZip® based on a password that you specify. In order for WinZip to later extract the original contents of the encrypted files, the correct password must again be supplied.
This section gives a general overview of WinZip's encryption facilities. Once you are familiar with this information, you can read about the specifics of using encryption.
Additional or updated information about WinZip encryption may also be available on the WinZip web site at http://www.winzip.com/encryptioninfo.htm
WinZip provides two encryption methods for Zip files:
WinZip supports AES encryption in two different strengths: 128-bit AES and 256-bit AES. These numbers refer to the size of the encryption keys that are used to encrypt the data. 256-bit AES is stronger than 128-bit AES, but both of them can provide significantly greater security than the standard Zip 2.0 method described below. An advantage of 128-bit AES is that it is slightly faster than 256-bit AES, that is, it takes less time to encrypt or decrypt a file.
The security of your data depends not only on the strength of the encryption method but also on the strength of your password, including factors such as length and composition of the password, and the measures you take to ensure that your password is not disclosed to unauthorized third parties. Please read about encryption passwords.
Note that the Zip file format extension used by WinZip to store AES-encrypted files is not supported by earlier versions of WinZip and is not yet supported by most other Zip file utilities. Because the technical specification for WinZip's AES format extension is available on the WinZip web site, we anticipate that other Zip file utilities will add support for this format extension.
You should not rely on Zip 2.0 encryption to provide strong security for your data. If you have important security requirements for your data, you should instead consider using WinZip's AES encryption, described above.
The only advantage of Zip 2.0 encryption over the more secure AES encryption is that it is supported by most Zip file utilities, including earlier versions of WinZip. Files that you encrypt using this technique can be extracted by anyone who knows the correct password and has access to almost any Zip file utility. Additionally, Zip 2.0 encryption is supported by WinZip Self-Extractor 2.2 and by WinZip Self-Extractor Personal Edition (included in WinZip 9.0); the AES encryption method described above is not supported by either self-extractor program.
WinZip 9.0's AES encryption facility represents a significant advance on the previous Zip 2.0 encryption, and it can help meet the need that many WinZip users have for preventing their confidential information from being viewed by unauthorized individuals. There are, however, some limitations that you should be aware of:
Encryption provides a measure of safety for your sensitive documents, but even encrypted documents can be compromised (regardless of whether they were encrypted by WinZip or by other encryption software). Here are some of the ways this can occur. This is by no means an exhaustive list of potential risks; it is intended only to give you an idea of some of the safety issues involved with sensitive documents.
When you use AES encryption with WinZip, the passwords that you enter are converted into keys of the appropriate length (128 bits or 256 bits, depending on the AES key length that you specify). This is done through the PBKDF2 algorithm defined in RFC 2898 (also available as Public Key Cryptography Standard #5) with an iteration count of 1000. WinZip uses 8-byte salt values with 128-bit AES encryption and 16-byte salt values with 256-bit encryption.
One purpose for the "salt" values used with WinZip's AES encryption is to yield different encryption keys for each file, even if multiple files are encrypted with the same password. With the 8-byte salt values used with WinZip's 128-bit encryption it is likely that, if approximately 4 billion files are encrypted with the same password, two of the files will be encrypted with the same key. Someone who obtained copies of two files encrypted with the same key could learn information about their contents, so it is advisable to stay well below this limit. This is why we recommend that if you are going to be using the same password to encrypt very large numbers of files with WinZip's AES encryption (that is, files totalling in the millions, for example 2000 Zip files, each containing 1000 encrypted files), you use 256-bit AES keys, which use 16-byte salt values, rather than 128-bit AES-keys, with their 8-byte salt values.
As part of the process outlined in RFC 2898 a pseudorandom function must be called; WinZip uses the HMAC-SHA-1 function for this purpose, since it is a well-respected algorithm that has been in wide use for this purpose for several years. The PBKDF2 function repeatedly calls HMAC-SHA-1, which produces a 160-bit hash value as a result, mixing the outputs in a fairly complicated way, eventually yielding a 128- or 256-bit encryption key as a result.
Note that, if you are using 256-bit AES encryption, the fact that HMAC-SHA-1 produces a 160-bit result means that regardless of the password that you specify, the search space for the encryption key is unlikely to reach the theoretical 256-bit maximum, and cannot be guaranteed to exceed 160 bits. This is discussed in section B.1.1 of the RFC 2898 document.
Zip file utility developers who wish to provide WinZip-compatible AES encryption support in their own products can find complete technical information at http://www.winzip.com/aes_info.htm.