ROLZ (reduced-offset Lempel-Ziv) compressor by Ilya Muravyov: matches are drawn from a 64-entry table selected by the previous byte, so only a slot index is transmitted, and every bit is coded by a 12-bit adaptive binary arithmetic coder.
| Property | Value |
|---|---|
| Category | Compression Algorithms |
| Sub-category | Dictionary-based (ROLZ) |
| Security status | Not classified |
| Complexity | Advanced |
| Inventor | Ilya Muravyov |
| Year | 2008 |
| Origin | π·πΊ Russia |
| Source | algorithms/compression/balz.js |
Status: not classified β treat as unverified.
No vulnerabilities are recorded for this implementation.
6 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 β Empty input - header only
| Field | Value |
|---|---|
input |
(empty) |
expected |
00000000 |
Vector 2 β Single byte literal
| Field | Value |
|---|---|
input |
41 |
expected |
0100000041fffffe |
Vector 3 β Run of one byte - literal then a single ROLZ match
| Field | Value |
|---|---|
input |
41414141414141414141 |
expected |
0a0000004121f0008678 |
Vector 4 β Alternating pattern
| Field | Value |
|---|---|
input |
41424142 |
expected |
04000000412253673fb46e |
Vector 5 β Repeating sequence - reduced-offset advantage
| Field | Value |
|---|---|
input |
414243414243414243414243 |
expected |
0c00000041225448f8f9794f3f |
Vector 6 β Natural text
| Field | Value |
|---|---|
input |
48656c6c6f20576f726c64 |
expected |
0b0000004835ebd7577ab768ca98283d3b86f2 |