7-Zip method IDs for 7z and xz archives
---------------------------------------

Version: 18.06
Date: 2018-06-30

Each compression or crypto method in 7z is associated with unique binary value (ID).
The length of ID in bytes is arbitrary but it can not exceed 63 bits (8 bytes).

xz and 7z formats use same ID map.

If you want to add some new ID, you have two ways:
  1) Write request for allocating IDs to 7-Zip developers.
  2) Generate 8-bytes ID:

    3F ZZ ZZ ZZ ZZ ZZ MM MM 

    3F              - Prefix for random IDs (1 byte)
    ZZ ZZ ZZ ZZ ZZ  - Developer ID (5 bytes). Use real random bytes. 
                      
    MM MM           - Method ID (2 bytes)

    You can notify 7-Zip developers about your Developer ID / Method ID.

    Note: Use new ID, if old codec can not decode data encoded with new version.


List of defined IDs
-------------------
      
00 - Copy

03 - Delta
04 - BCJ (x86)
05 - PPC (big-endian)
06 - IA64
07 - ARM (little-endian)
08 - ARMT (little-endian)
09 - SPARC

21 - LZMA2
          
02.. - Common
   03 [Swap]
      - 2 Swap2
      - 4 Swap4

03.. - 7z
   01 - 
      01 - LZMA
  
   03 - [Branch Codecs]
      01 - [x86 Codecs]
         03  - BCJ
         1B  - BCJ2 (4 packed streams)
      02 - 
         05 - PPC (big-endian)
      03 - 
         01 - Alpha
      04 - 
         01 - IA64
      05 - 
         01 - ARM (little-endian)
      06 - 
         05 - M68 (big-endian)
      07 - 
         01 - ARMT (little-endian)
      08 - 
         05 - SPARC

   04 - 
      01 - PPMD

   7F -
      01 - experimental method.


04.. - Misc codecs

   00 - Reserved

   01 - [Zip]
      00 - Copy (not used. Use {00} instead)
      01 - Shrink
      06 - Implode
      08 - Deflate
      09 - Deflate64
      0A - Imploding
      0C - BZip2 (not used. Use {040202} instead)
      0E - LZMA (LZMA-zip)
      5F - xz
      60 - Jpeg
      61 - WavPack
      62 - PPMd (PPMd-zip)
      63 - wzAES

   02 - 
      02 - BZip2

   03 - [Rar]
      01 - Rar1
      02 - Rar2
      03 - Rar3
      05 - Rar5

   04 - [Arj]
      01 - Arj(1,2,3)
      02 - Arj4

   05 - [Z]

   06 - [Lzh]

   07 - Reserved for 7z

   08 - [Cab]

   09 - [NSIS]
      01 - DeflateNSIS
      02 - BZip2NSIS

   F7 - External codecs (that are not included to 7-Zip)

      0x xx - reserved

      10 xx - reserved (LZHAM)
         01 - LZHAM

      11 xx - reserved (Tino Reichardt)
         01 - ZSTD
         02 - BROTLI
         04 - LZ4
         05 - LZ5
         06 - LIZARD

      12 xx - reserverd (Denis Anisimov)
        
         01 - WavPack2
         FE - eSplitter 
         FF - RawSplitter
 

06.. - Crypto 

   F0 - Ciphers without hashing algo

      01 - [AES]
         0x - AES-128
         4x - AES-192
         8x - AES-256
         Cx - AES

         x0 - ECB
         x1 - CBC
         x2 - CFB
         x3 - OFB
         x4 - CTR

   F1 - Combine Ciphers

      01 - [Zip]
         01 - ZipCrypto (Main Zip crypto algo)

      03 - [RAR]
         02 - 
         03 - Rar29AES (AES-128 + modified SHA-1)

      07 - [7z]
         01 - 7zAES (AES-256 + SHA-256)


---
End of document
