 
					The gzipped tarball (.tgz) contains the sks 64-bit ELF binary executable. As an object file distribution, the GPL permits a fee for acquiring the file, provided that the source is available side-by-side, as is the case here. This should run on any 64-bit Linux, including WSL.
Download and extract the contents of the archive. tar -xvf sks-1v0-elf64.tgz will work from bash prompt. You may execute the tool directly, in place, using a “./” prefix. Alternatively, you may move the file to a …/bin/ directory that is in your path statement to make it just work.
Directly derived from cat, the sks tool supports only -u, –help and –version options. Alone, sks will copy unique 16-byte blocks from stdin to stdout, truncating any trailing partial block. One or more files may be supplied as parameters, with wildcard and pattern globing. The stdin file may be specified using “–” as with cat. Output may be redirected or used to fill a pipeline.
Suppose the variable “sn” holds the sequence number [0..n] of the unique 16 byte key desired for use with the cryptsetup “[…]key-file” options, use:
…key-file=$(sks inputFile | tail -c $((16*sn)) | head -c 16 )
Using /dev/urandom could be accomplished by restricting the continuous stream, perhaps by substituting the below for inputFile above.
$(dd count=16 status=none if=/dev/urandom)
To feed a series of up to 512 unique 128-bit into the sks tool and drive the tail/head selector pipeline. Using a pipeline keeps all key data restricted to system memory and improves security.
How it Works:
The sks tool processes 16-byte input blocks by attempting to insert each into a dynamically constructed binary tree, stored in main memory. Due to memory management and pointer overhead, memory use may reach three (3) times the size of the input file. Any key already in the tree fails. Only candidates that get added to the tree are copied to the output stream. All key data in memory is obliterated as the tree is “freed.”
Agreement:
This executable is © 2025, Dendritics, is licensed for the sole, unlimited use, by the purchaser, and is governed by the GNU GPL 3.0.
Your purchase includes 12 downloads over a a six-month (183 day) window, allowing access to updates, even if the price increases. Your confirmation e-mail includes a download link for future use.