NikPak

Features

What is inside NikPak and the .nik format, explained plainly.

Quantum resistance

Quantum computers threaten public-key cryptography: Shor's algorithm breaks RSA and elliptic curves. NikPak uses none of them. Its encryption is 256-bit symmetric only, which keeps about 128 bits of security even against Grover's algorithm.

Archives captured today cannot simply be decrypted later by a quantum computer ("harvest now, decrypt later"). The strength of your password still matters most, and Argon2id makes guessing it expensive.

Media intelligence

NikPak looks at what a file contains, not at its extension. WAV and AIFF audio, ProTracker MOD music and BMP images are recognised and sent through filters made for them.

Every media file goes through a trial: NAC, Shuffle, Shuffle+Delta and MED are tried and the smallest result is kept. When no filter helps, the file is compressed normally, so a filter never makes an archive bigger.

  • NAC, NikPak's lossless audio codec: linear prediction and stereo decorrelation, on par with FLAC -8.
  • Self-verification: every NAC block is decoded again during compression and compared with the original.
  • Shuffle and Shuffle+Delta for samples and pixels, and a dedicated path for ProTracker MOD files.
  • Results against RAR 7 -m5: BMP photographs 38.8 % smaller, stereo music 14.6 %, MOD files 13.3 %.

Office documents, PDF and gzip

docx, xlsx, pptx, odt, ods, epub, jar, zip, pdf and gz files hide their content in Deflate streams that ordinary compressors cannot shrink any more. At levels -m4 and -m5 NikPak decodes these streams, compresses the plain data far better and rebuilds the original file bit for bit when you extract. On 60 office files the archive is 31.7 % smaller than with 7-Zip -mx9.

Compression levels

Levels -m1 to -m4 use a multi-threaded, solid Zstandard stream, with a 128 MiB window and long-distance matching at -m4. The maximum level -m5, the default, builds a multi-engine body: LZMA2 for binary data and PPMd for text, chosen by trial, with files sorted by type.

LevelWhat it does
-m0Store: no compression
-m1Fastest
-m2Fast: the choice when speed matters more than size
-m3Good
-m4High: adds Deflate recompression for office files, PDF and gzip
-m5Maximum, the default: LZMA2 and PPMd chosen by trial

Encryption

Encrypted archives use Argon2id to turn the password into a key. It needs 64 MiB of memory for every guess, which makes password guessing on graphics cards expensive. The data is then encrypted with XChaCha20-Poly1305 in authenticated chunks of 64 KiB.

  • File names, sizes, dates and permissions are always encrypted.
  • Reordering, truncation and header changes are detected cryptographically.
  • No password given? NikPak generates a strong one: 24 characters, about 139 bits.
  • There is no back door: a lost password cannot be recovered by anyone.
NikPakRAR 57-Zip
CipherXChaCha20-Poly1305AES-256-CBCAES-256
AuthenticatedYesNoNo
Password hashingArgon2id, memory-hardPBKDF2-HMAC-SHA256SHA-256, not memory-hard
File names hiddenAlwaysOnly with -hpOnly with -mhe

Safe by design

  • Extraction never writes outside the destination folder (zip-slip protection).
  • Symbolic links are refused and setuid bits are removed.
  • Every decoder has strict limits: a malicious archive cannot exhaust memory.
  • Archives are written atomically: a failed run never leaves a half-written file.
  • CRC32 of every file, an end marker with the entry count, and a program written in memory-safe Rust.

Two programs, one look

NikPak creates archives from a single drop window; unNik opens, browses and extracts them. Both share the language, the sounds and the settings, and one button switches from one to the other.

NikPakNikPak
unNik

Skins

41 skins, the same as Nikkomander, for NikPak and unNik. The choice is saved and shared by both programs, and you can import your own .skin.json skins. See all skins →

Nikkoid Blue (default)Nikkoid BrightDraculaPepperoni PizzaChristmasMatrixTropical8-Bit Game

Where RAR is still ahead

  • Recovery records that can repair a damaged archive
  • Multi-volume and self-extracting archives
  • Adding or replacing files inside an existing archive
  • Decades of field testing and millions of existing .rar files

Roadmap

  • Recovery records: Reed-Solomon parity to repair damaged archives.
  • Multi-volume archives and updates: splitting large archives, adding and replacing files.
  • Sharing with public keys: a hybrid of X25519 and ML-KEM, safe if either one holds.
  • More media filters: floating-point audio, XM/S3M/IT trackers, PNG recompression, TGA and TIFF.
  • ZIP and RAR in unNik, shell integration: so that NikPak can be the only archiver you need.
  • A faster maximum level: multi-threaded LZMA2 and PPMd, deduplication, a filter for executables.
  • An external security review of the cryptography and the extractor.