Last Updated on February 27, 2026
The program SNOW is used to conceal messages in ASCII text by appending whitespace to the end of lines. Because spaces and tabs are generally not visible in text viewers, the message is effectively hidden from casual observers. And if the built-in encryption is used, the message cannot be read even if it is detected.
SNOW exploits the Steganographic Nature Of Whitespace. Locating trailing whitespace in text is like finding a polar bear in a snowstorm.
The encoding scheme used by snow relies on the fact that spaces and tabs (known as whitespace), when appearing at the end of lines, are invisible when displayed in pretty well all text viewing programs. This allows messages to be hidden in ASCII text without affecting the text’s visual representation. And since trailing spaces and tabs occasionally occur naturally, their existence should not be sufficient to immediately alert an observer who stumbles across them.
The snow program runs in two modes – message concealment, and message extraction. During concealment, the following steps are taken.
Message -> optional compression -> optional encryption -> concealment in text
Extraction reverses the process.
Extract data from text -> optional decryption -> optional uncompression -> message
Key Features
- Compression scheme used by snow is a fairly rudimentary Huffman encoding scheme, where the tables are optimised for English text. This was chosen because the whitespace encoding scheme provides very limited storage space in some situations, and a compression algorithm with low overhead was needed.
- Encryption is also provided, using the ICE encryption algorithm in 1-bit cipher-feedback (CFB) mode. Because of ICE’s arbitrary key size, passwords of any length up to 1170 characters are supported (since only 7 bits of each character are used, keys up to 1024-bytes are supported).
Website: darkside.com.au/snow
Support:
Developer: Matthew Kwan
License: Apache License v2.0
Snow is written in C. Learn C with our recommended free books and free tutorials.
Related Software
| Steganography Tools | |
|---|---|
| OpenStego | Java based tool to hide secret data in image files |
| stegify | Tool written in Go for LSB steganography |
| Stegano | Supports hiding data in PNG images via LSB encoding |
| Snow | Whitespace steganography program |
| Stegosuite | Steganography tool which lets hide information in image files |
| jdvrif | Hide files within a JPG cover image |
| Wavsteg | Uses least significant bit steganography to hide a file in .wavs |
| Steghide | Uses an algorithm which is undetectable by color-frequency tests |
| Steganoroute | Send steganographed text messages to mtr with fake hops in the network |
| Stegoshare | Java based steganography tool |
| snowdrop | Text watermarking and watermark recovery |
| OutGuess | Universal steganographic tool |
| Rooks | Adaptive steganography toolkit |
| StegCracker | Steganography brute-force utility to uncover hidden data inside files |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

