7z Format

7z is the new archive format, providing high compression ratio.

The main features of 7z format:

  • Open architecture
  • High compression ratio
  • Strong AES-256 encryption
  • Ability of using any compression, conversion or encryption method
  • Supporting files with sizes up to 16000000000 GB
  • Unicode file names
  • Solid compressing
  • Archive headers compressing

7z has open architecture, so it can support any new compression methods. Now the following compression methods are integrated to 7z:

Method Description
LZMA Improved and optimized version of LZ77 algorithm
LZMA2 Improved version of LZMA
PPMD Dmitry Shkarin's PPMdH with small changes
BZip2 Standard BWT algorithm
Copy No compression method

7z also supports filters that improve compression ratio of main compression method. Now the following filters are integrated to 7z:

BCJ Converter for x86 executables
BCJ2 Converter for x86 executables
ARM64 Converter for ARM64 executables
ARMT Converter for 32-bit ARM-Thumb executables
ARM Converter for 32-bit ARM32 executables
PPC Converter for PowerPC executables
SPARC Converter for SPARC executables
IA64 Converter for IA-64 (Itanium) executables
Delta Converter for WAV files
Swap2/Swap4 Converters for changing the order of bytes

LZMA is default and general compression method of 7z format. The main features of LZMA method:

  • High compression ratio
  • Variable dictionary size (up to 4 GB)
  • Compressing speed: about 2-8 MB/s on 4 GHz CPU (2 cpu threads version).
  • Decompressing speed: about 30-100 MB/s on 4 GHz CPU (1 cpu thread).
  • Small memory requirements for decompressing (depend from dictionary size)
  • Small code size for decompressing: about 5 KB

7-Zip also supports encryption with AES-256 algorithm. This algorithm uses cipher key with length of 256 bits. To create that key 7-Zip uses derivation function based on SHA-256 hash algorithm. A key derivation function produces a derived key from text password defined by user. For increasing the cost of exhaustive search for passwords 7-Zip uses big number of iterations to produce cipher key from text password.

7z code is a part of 7-Zip program distributed under the GNU LGPL. You can download 7-Zip sources and binaries from Download Page.

Major part of 7z code is included to LZMA SDK.

Applications that support 7z archives: WinRAR, PowerArchiver, TUGZip, IZArc.

Links:


Copyright (C) 2023 Igor Pavlov.