Szip uses a limited order Sort transform. This transformation is related to
the Burrows-Wheeler transformation used in blocksorting compression methods.
The difference is a fast, deterministic behaviour in time at some compression
loss. And you can easily do it in hardware. As next step it uses a probability model for blocksorted files.
The last step is entropy encoding using a range coder.
The compressed format supports multiple files including creation, modification
and accesstime, owner, group and protection. However the programdoes not
support it; if you want to contribute code doing that you are welcome.