Hawkynt

BALZ

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.

Properties

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

Security

Status: not classified β€” treat as unverified.

No vulnerabilities are recorded for this implementation.

Documentation

References

Test vectors

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

← All algorithms