Hawkynt

BCM (Block Context Mixing)

Burrows-Wheeler Transform with a compact order-0..2 context-mixing back end, BCM-style. Ported to be byte-for-byte identical to CompressionWorkbench’s reduced BB_Bcm reference block.

Properties

Property Value
Category Compression Algorithms
Sub-category BWT + Context Mixing
Security status 🎓 Educational Only
Complexity Expert
Inventor Ilya Muravyov (concept); reduced clean-room reimplementation
Year 2010
Origin 🇺🇸 United States
Source algorithms/compression/bcm.js

Security

Status: 🎓 Educational Only

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 data test

Field Value
input (empty)
expected 00000000

Vector 2 — Single byte test

Field Value
input 41
expected (empty)

Vector 3 — Simple repeated pattern

Field Value
input 414141424242434343
expected (empty)

Vector 4 — Classic banana example

Field Value
input 62616e616e61
expected (empty)

Vector 5 — Mixed alphanumeric data

Field Value
input 54686520717569636b2062726f776e20 666f78206a756d7073206f7665722074 6865206c617a7920646f67
expected (empty)

Vector 6 — Repetitive text compression

Field Value
input 616263616263616263616263616263616263
expected (empty)

← All algorithms