1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<TITLE>7z Format</TITLE>
<LINK href="style.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY>
<H1>7z Format</H1>
<P><B>7z</B> is a new archive format, providing a high compression ratio.</P>
<P>The main features of the <B>7z</B> format:</P>
<UL>
<LI>Open architecture
<LI>High compression ratio
<LI>Strong AES-256 encryption
<LI>Ability to use any compression, conversion or encryption method
<LI>Supports files with sizes up to 16000000000 GB
<LI>Unicode file names
<LI>Solid compression
<LI>Archive headers compression
</UL>
<P><B>7z</B> has an open architecture, so it can support any new compression methods.</P>
The following methods currently are integrated into <B>7z</B>:<P>
<TABLE cellspacing ="2" cellpadding ="4">
<TR> <TH class="Title" width="60">Method</TH> <TH class="Title">Description</TH> </TR>
<TR> <TD class="Item">LZMA</TD> <TD class="Item">Improved and optimized version of LZ77 algorithm</TD></TR>
<TR> <TD class="Item">LZMA2</TD> <TD class="Item">LZMA-based compression method. It provides better multithreading support than LZMA</TD></TR>
<TR> <TD class="Item">PPMD</TD> <TD class="Item">Dmitry Shkarin's PPMdH with small changes</TD></TR>
<TR> <TD class="Item">BCJ</TD> <TD class="Item">Converter for 32-bit x86 executables</TD></TR>
<TR> <TD class="Item">BCJ2</TD> <TD class="Item">Converter for 32-bit x86 executables</TD></TR>
<TR> <TD class="Item">BZip2</TD> <TD class="Item">Standard BWT algorithm</TD></TR>
<TR> <TD class="Item">Deflate</TD> <TD class="Item">Standard LZ77-based algorithm</TD></TR>
</TABLE>
<P><B>LZMA</B> is the default and general compression method of <B>7z</B> format.
The main features of the <B>LZMA</B> method:</P>
<UL>
<LI>High compression ratio
<LI>Variable dictionary size (up to 4 GB)
<LI>Compression speed: about 1 MB/s on 2 GHz CPU
<LI>Decompression speed: about 10-20 MB/s on 2 GHz CPU
<LI>Small memory requirement for decompression (depends from dictionary size)
<LI>Small code size for decompression: about 5 KB
<LI>Supports multi-threading and P4's hyper-threading
</UL>
<P>The <B>LZMA</B> compression algorithm is very suitable for embedded applications.
If you want to use <B>LZMA</B> code, you can ask for consultation, custom code programming,
and required developer licenses at
<P><A href="http://www.7-zip.org/support.html" target="_blank">www.7-zip.org/support.html</A></P>
</P>
<P>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.</P>
<H2>Tips for selecting password length</H2>
<P>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.</P>
<P>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.</P>
<P>The result is this estimate of the time to succeed in an attack:</P>
<TABLE>
<TR align=center>
<TH>Password Length</TH>
<TH>Single User Attack</TH>
<TH>Organization Attack</TH>
</TR>
<TR align=center>
<TD>1</TD>
<TD>2 s</TD>
<TD>1 s</TD>
</TR>
<TR align=center>
<TD>2</TD>
<TD>1 min</TD>
<TD>1 s</TD>
</TR>
<TR align=center>
<TD>3</TD>
<TD>30 min</TD>
<TD>1 s</TD>
</TR>
<TR align=center>
<TD>4</TD>
<TD>12 hours</TD>
<TD>1 s</TD>
</TR>
<TR align=center>
<TD>5</TD>
<TD>14 days</TD>
<TD>1 s</TD>
</TR>
<TR align=center>
<TD>6</TD>
<TD>1 year</TD>
<TD>1 s</TD>
</TR>
<TR align=center>
<TD>7</TD>
<TD>10 years</TD>
<TD>1 s</TD>
</TR>
<TR align=center>
<TD>8</TD>
<TD>19 years</TD>
<TD>20 s</TD>
</TR>
<TR align=center>
<TD>9</TD>
<TD>26 years</TD>
<TD>9 min</TD>
</TR>
<TR align=center>
<TD>10</TD>
<TD>37 years</TD>
<TD>4 hours</TD>
</TR>
<TR align=center>
<TD>11</TD>
<TD>46 years</TD>
<TD>4 days</TD>
</TR>
<TR align=center>
<TD>12</TD>
<TD>55 years</TD>
<TD>4 months</TD>
</TR>
<TR align=center>
<TD>13</TD>
<TD>64 years</TD>
<TD>4 years</TD>
</TR>
<TR align=center>
<TD>14</TD>
<TD>73 years</TD>
<TD>13 years</TD>
</TR>
<TR align=center>
<TD>15</TD>
<TD>82 years</TD>
<TD>22 years</TD>
</TR>
<TR align=center>
<TD>16</TD>
<TD>91 years</TD>
<TD>31 years</TD>
</TR>
<TR align=center>
<TD>17</TD>
<TD>100 years</TD>
<TD>40 years</TD>
</TR>
</TABLE>
</BODY>
</HTML>
|