7z is a new archive format, providing a high compression ratio.
The main features of the 7z format:
7z has an open architecture, so it can support any new compression methods.
The following methods currently are integrated into 7z:
Method | Description |
---|---|
LZMA | Improved and optimized version of LZ77 algorithm |
LZMA2 | LZMA-based compression method. It provides better multithreading support than LZMA |
PPMD | Dmitry Shkarin's PPMdH with small changes |
BCJ | Converter for 32-bit x86 executables |
BCJ2 | Converter for 32-bit x86 executables |
BZip2 | Standard BWT algorithm |
Deflate | Standard LZ77-based algorithm |
LZMA is the default and general compression method of 7z format. The main features of the LZMA method:
The LZMA compression algorithm is very suitable for embedded applications. If you want to use LZMA code, you can ask for consultation, custom code programming, and required developer licenses at
7-Zip also supports encryption with the AES-256 algorithm. This algorithm uses a cipher key with length of 256 bits. To create the key, 7-Zip uses a derivation function based on an SHA-256 hash algorithm. A key derivation function produces a derived key from a text password defined by the user. To increase the cost of an exhaustive search for passwords, 7-Zip uses a big number of iterations to produce the cipher key from the text password.
Here is an estimate of the time required for an exhaustive password search attack, when the password is a random sequence of lowercase Latin letters.
We suppose that one user can check 10 passwords per second and an organization with a budget of about $1 billion can check 10 billion passwords per second. We also suppose that the processor in use doubles its performance every two years; so, each additional Latin letter of a long password adds about 9 years to an exhaustive key search attack.
The result is this estimate of the time to succeed in an attack:
Password Length | Single User Attack | Organization Attack |
---|---|---|
1 | 2 s | 1 s |
2 | 1 min | 1 s |
3 | 30 min | 1 s |
4 | 12 hours | 1 s |
5 | 14 days | 1 s |
6 | 1 year | 1 s |
7 | 10 years | 1 s |
8 | 19 years | 20 s |
9 | 26 years | 9 min |
10 | 37 years | 4 hours |
11 | 46 years | 4 days |
12 | 55 years | 4 months |
13 | 64 years | 4 years |
14 | 73 years | 13 years |
15 | 82 years | 22 years |
16 | 91 years | 31 years |
17 | 100 years | 40 years |