Home | History | Annotate | Download | only in lzma
      1 7-Zip method IDs (9.18)
      2 -----------------------
      3 
      4 Each compression or crypto method in 7z has unique binary value (ID).
      5 The length of ID in bytes is arbitrary but it can not exceed 63 bits (8 bytes).
      6 
      7 If you want to add some new ID, you have two ways:
      8 1) Write request for allocating IDs to 7-zip developers.
      9 2) Generate 8-bytes ID:
     10 
     11     3F ZZ ZZ ZZ ZZ ZZ MM MM 
     12 
     13     3F              - Prefix for random IDs (1 byte)
     14     ZZ ZZ ZZ ZZ ZZ  - Developer ID (5 bytes). Use real random bytes. 
     15                       
     16     MM MM           - Method ID (2 bytes)
     17 
     18     You can notify 7-Zip developers about your Developer ID / Method ID.
     19 
     20     Note: Use new ID only if old codec can not decode data encoded with new version.
     21 
     22 
     23 List of defined IDs
     24 -------------------
     25       
     26 00 - Copy
     27 
     28 03 - Delta
     29 04 - x86 (BCJ)
     30 05 - PPC (Big Endian)
     31 06 - IA64
     32 07 - ARM (little endian)
     33 08 - ARM Thumb (little endian)
     34 09 - SPARC
     35 21 - LZMA2
     36           
     37 02.. - Common
     38    03 Swap
     39       - 2 Swap2
     40       - 4 Swap4
     41 
     42 03.. - 7z
     43    01 - LZMA
     44       01 - Version
     45   
     46    03 - Branch
     47       01 - x86
     48          03  - BCJ
     49          1B  - BCJ2
     50       02 - PPC
     51          05 - PPC (Big Endian)
     52       03 - Alpha
     53          01 - Alpha
     54       04 - IA64
     55          01 - IA64
     56       05 - ARM
     57          01 - ARM
     58       06 - M68
     59          05 - M68 (Big Endian)
     60       07 - ARM Thumb
     61          01 - ARMT
     62       08 - SPARC
     63          05 - SPARC
     64 
     65    04 - PPMD
     66       01 - Version
     67 
     68    7F -
     69       01 - experimental methods.
     70 
     71 
     72 04.. - Misc
     73    00 - Reserved
     74    01 - Zip
     75       00 - Copy (not used). Use {00} instead
     76       01 - Shrink
     77       06 - Implode
     78       08 - Deflate
     79       09 - Deflate64
     80       10 - Imploding
     81       12 - BZip2 (not used). Use {04 02 02} instead
     82       14 - LZMA
     83       60 - Jpeg
     84       61 - WavPack
     85       62 - PPMd
     86       63 - wzAES
     87    02 - BZip
     88       02 - BZip2
     89    03 - Rar
     90       01 - Rar15
     91       02 - Rar20
     92       03 - Rar29
     93    04 - Arj
     94       01 - Arj (1,2,3)
     95       02 - Arj 4
     96    05 - Z
     97    06 - Lzh
     98    07 - Reserved for 7z
     99    08 - Cab
    100    09 - NSIS
    101       01 - DeflateNSIS
    102       02 - BZip2NSIS
    103 
    104 
    105 06.. - Crypto 
    106    00 - 
    107    01 - AES
    108       0x - AES-128
    109       4x - AES-192
    110       8x - AES-256
    111       Cx - AES
    112 
    113       x0 - ECB
    114       x1 - CBC
    115       x2 - CFB
    116       x3 - OFB
    117 
    118    07 - Reserved
    119    0F - Reserved
    120 
    121    F0 - Misc Ciphers (Real Ciphers without hashing algo)
    122 
    123    F1 - Misc Ciphers (Combine)
    124       01 - Zip
    125          01 - Main Zip crypto algo
    126       03 - RAR
    127          02 - 
    128          03 - Rar29 AES-128 + (modified SHA-1)
    129       07 - 7z
    130          01 - AES-256 + SHA-256
    131 
    132 07.. - Hash (subject to change)
    133    00 - 
    134    01 - CRC
    135    02 - SHA-1
    136    03 - SHA-256
    137    04 - SHA-384
    138    05 - SHA-512
    139 
    140    F0 - Misc Hash
    141 
    142    F1 - Misc
    143       03 - RAR
    144          03 - Rar29 Password Hashing (modified SHA1)
    145       07 - 7z 
    146          01 - SHA-256 Password Hashing
    147     
    148    
    149 
    150 
    151 ---
    152 End of document
    153