Provide a raw text file as the cover, and any file as the message. Keep in mind that longer messages require a longer cover to hold. After encoding, you will be provided with a file with the same name as the cover but with the spaces replaced in such a way as to encode the message you provided. (100MB Max)
The Bible makes for an excellent CoverMessage
Cover
Do the spaces in a text document look slightly off to you? A message may have been encoded in them! Provide the text document in question below and this tool will extract the hidden message if one exists in this format. (100MB Max)
Ciphertext
Steganospace ├── Foreword │ ├── This project was created for the steganography lab of CS-5732 @ University of Minnesota Duluth. │ └── It was inspired by former student April Seliger's submission for this lab. │ ├── How Her's Worked │ │ ├── In her submission, she placed zero-width space characters between each character to encode a message. │ │ ├── The presence of a zero-width space encoded a "1". │ │ └── The lack of a zero-width space encoded a "0". │ └── Limitations │ ├── Although visually invisible, it was not invisible to the Carrat. │ ├── If the user manually scrubbed through affected text with the arrow keys it would skip. │ │ └── Navigation would slow down as it iterated over zero-width spaces. │ └── Also increased the cover size by 0.5 * size of the message-- noticeable. ├── Overview │ ├── Rather than what April did, we wanted to replace the existing spaces with other "space"s to be invisible. │ ├── We identified 11 suitable "space" characters in Unicode, but only ended up using 8 of them. │ ├── The message undergoes standard LZ77 compression via the pako library on the highest setting. │ ├── Data is then converted to octal which is used to replace the spaces in the cover with each digit. │ │ ├── 0 -> U+0020 (Generic Space) │ │ ├── 1 -> U+00A0 (Non-Breaking Space) │ │ ├── 2 -> U+2000 (EN Quad Space) │ │ ├── 3 -> U+2002 (EN Space) │ │ ├── 4 -> U+2004 (1/3 EM Space) │ │ ├── 5 -> U+2005 (1/4 EM Space) │ │ ├── 6 -> U+2006 (1/6 EM Space) │ │ ├── 7 -> U+2008 (Punctuation Space) │ │ ├── 8 -> U+2009 (Thin Space) [Unused in Octal Implimentation] │ │ ├── 9 -> U+202F (Narrow No-Break Space) [Unused in Octal Implimentation] │ │ └── A -> U+205F (Medium Mathematical Space) [Unused in Octal Implimentation] │ └── Although this program only encodes 1 digit of information for each word, by using octal is stores more than April's. ├── Requirements │ ├── Cover must be plain text (.txt). │ ├── Message may be of any type. │ └── If the Cover is not large enough to encode the Message, a warning is given that says how much more space is needed. ├── Examples │ └── https://lars.d.umn.edu/brendan/TurtleGang/Steganospace/Examples └── GitHub Link └── https://github.umn.edu/hage0584/steganographyLab/tree/main/Steganography