lrzip/doc/magic.header.txt
Con Kolivas b27e1df879 Revert "Modify the file format to not include rzip chunk size except for STDOUT chunked files thus decreasing the file format size further."
This reverts commit 131d4c92c2.

Breaks STDIN/OUT so revert this change and cope with the slightly extra file size on non-chunked files.
2011-03-23 07:59:04 +11:00

126 lines
2.6 KiB
Plaintext

lrzip-0.6x file format
March 2011
Con Kolivas
Byte Content
0-23 Magic
---
24+ Rzip Chunk Data (RCD)
RCD+ Data blocks
--- repeat
(end-MD5_DIGEST_SIZE)->(end) md5 hash
Magic data:
0->3 LRZI
4 LRZIP Major Version Number
5 LRZIP Minor Version Number
6->14 Source File Size or 0 if unknown, or salt in encrypted file
16->20 LZMA Properties Encoded (lc,lp,pb,fb, and dictionary size)
21 1 = md5sum hash is stored at the end of the archive
22 1 = data is encrypted with sha512/aes128
23 Unused
Encrypted salt (bytes 6->14 in magic if encrypted):
0->1 Encoded number of loops to hash password
2->7 Random data
(RCD0 is set to 8 bytes always on encrypted files)
Rzip Chunk Data:
0 Data offsets byte width (meaning length is < (2 * 8)^RCD0)
1 Flag that there is no chunk beyond this
(RCD0 bytes) Chunk decompressed size (not stored in encrypted file)
XX Stream 0 header data
XX Stream 1 header data
Stream Header Data:
Byte:
0 Compressed data type
(RCD0 bytes) Compressed data length
(RCD0 bytes) Uncompressed data length
(RCD0 bytes) Next block head
Data blocks:
0->(end-2) data
(end-1)->end crc data
lrzip-0.5x file format
March 2011
Con Kolivas
Byte Content
0->23 Magic
--
24->74 Rzip chunk data
75+ Data blocks
-- repeat
(end-MD5_DIGEST_SIZE)->(end) md5 hash
Magic data:
0->3 LRZI
4 LRZIP Major Version Number
5 LRZIP Minor Version Number
6->14 Source File Size
16->20 LZMA Properties Encoded (lc,lp,pb,fb, and dictionary size)
21 Flag that md5sum hash is stored at the end of the archive
22-23 not used
Rzip chunk data:
0 Data offsets byte width
1-25 Stream 0 header data
26-50 Stream 1 header data
Stream Header Data:
Byte:
0 Compressed data type
1-8 Compressed data length
9-16 Uncompressed data length
17-24 Next block head
Data blocks:
0->(end-2) data
(end-1)->end crc data
lrzip-0.40+ file header format
November 2009
Con Kolivas
Byte Content
0-3 LRZI
4 LRZIP Major Version Number
5 LRZIP Minor Version Number
6-14 Source File Size
16-20 LZMA Properties Encoded (lc,lp,pb,fb, and dictionary size)
21-24 not used
24-48 Stream 1 header data
49-74 Stream 2 header data
Block Data:
Byte:
0 Compressed data type
1-8 Compressed data length
9-16 Uncompressed data length
17-24 Next block head
25+ Data
End:
0-1 crc data
lrzip-0.24+ file header format
January 2009
Peter Hyman, pete@peterhyman.com
Byte Content
0-3 LRZI
4 LRZIP Major Version Number
5 LRZIP Minor Version Number
6-9 Source File Size (no HAVE_LARGE_FILES)
6-14 Source File Size
16-20 LZMA Properties Encoded (lc,lp,pb,fb, and dictionary size)
21-23 not used
24-36 Stream 1 header data
37-50 Stream 2 header data
51 Compressed data type