1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
\r
4 <META http-equiv="Content-Type" content="text/html; charset=Windows-1252">
\r
5 <TITLE>7z Format</TITLE>
\r
6 <LINK href="style.css" rel="stylesheet" type="text/css">
\r
13 <P><B>7z</B> is a new archive format, providing a high compression ratio.</P>
\r
15 <P>The main features of the <B>7z</B> format:</P>
\r
17 <LI>Open architecture
\r
18 <LI>High compression ratio
\r
19 <LI>Strong AES-256 encryption
\r
20 <LI>Ability to use any compression, conversion or encryption method
\r
21 <LI>Supports files with sizes up to 16000000000 GB
\r
22 <LI>Unicode file names
\r
23 <LI>Solid compression
\r
24 <LI>Archive headers compression
\r
27 <P><B>7z</B> has an open architecture, so it can support any new compression methods.</P>
\r
28 The following methods currently are integrated into <B>7z</B>:<P>
\r
30 <TABLE cellspacing ="2" cellpadding ="4">
\r
31 <TR> <TH class="Title" width="60">Method</TH> <TH class="Title">Description</TH> </TR>
\r
32 <TR> <TD class="Item">LZMA</TD> <TD class="Item">Improved and optimized version of LZ77 algorithm</TD></TR>
\r
33 <TR> <TD class="Item">PPMD</TD> <TD class="Item">Dmitry Shkarin's PPMdH with small changes</TD></TR>
\r
34 <TR> <TD class="Item">BCJ</TD> <TD class="Item">Converter for 32-bit x86 executables</TD></TR>
\r
35 <TR> <TD class="Item">BCJ2</TD> <TD class="Item">Converter for 32-bit x86 executables</TD></TR>
\r
36 <TR> <TD class="Item">BZip2</TD> <TD class="Item">Standard BWT algorithm</TD></TR>
\r
37 <TR> <TD class="Item">Deflate</TD> <TD class="Item">Standard LZ77-based algorithm</TD></TR>
\r
40 <P><B>LZMA</B> is the default and general compression method of <B>7z</B> format.
\r
41 The main features of the <B>LZMA</B> method:</P>
\r
43 <LI>High compression ratio
\r
44 <LI>Variable dictionary size (up to 4 GB)
\r
45 <LI>Compression speed: about 1 MB/s on 2 GHz CPU
\r
46 <LI>Decompression speed: about 10-20 MB/s on 2 GHz CPU
\r
47 <LI>Small memory requirement for decompression (depends from dictionary size)
\r
48 <LI>Small code size for decompression: about 5 KB
\r
49 <LI>Supports multi-threading and P4's hyper-threading
\r
52 <P>The <B>LZMA</B> compression algorithm is very suitable for embedded applications.
\r
53 If you want to use <B>LZMA</B> code, you can ask for consultation, custom code programming,
\r
54 and required developer licenses at
\r
55 <P><A href="http://www.7-zip.org/support.html" target="_blank">www.7-zip.org/support.html</A></P>
\r
58 <P>7-Zip also supports encryption with the AES-256 algorithm.
\r
59 This algorithm uses a cipher key with length of 256 bits. To create the key, 7-Zip
\r
60 uses a derivation function based on an SHA-256 hash algorithm.
\r
61 A key derivation function produces a derived key from a text password defined by the user.
\r
62 To increase the cost of an exhaustive search for passwords, 7-Zip uses a big number
\r
63 of iterations to produce the cipher key from the text password.</P>
\r
65 <H2>Tips for selecting password length</H2>
\r
67 <P>Here is an estimate of the time required for an exhaustive
\r
68 password search attack, when the password is a random
\r
69 sequence of lowercase Latin letters.</P>
\r
71 <P>We suppose that one user can check 10 passwords per second and an
\r
72 organization with a budget of about $1 billion can check 10 billion
\r
73 passwords per second. We also
\r
74 suppose that the processor in use doubles its performance every two years;
\r
75 so, each additional Latin letter of a long password adds about
\r
76 9 years to an exhaustive key search attack.</P>
\r
78 <P>The result is this estimate of the time to succeed in an attack:</P>
\r
82 <TH>Password Length</TH>
\r
83 <TH>Single User Attack</TH>
\r
84 <TH>Organization Attack</TH>
\r