Stegnography is the science of hiding messages in plain sight.

What it does

Embeds/extracts messages in text as zero width Unicode characters. This allows implanting secret messages and data in any text application, such as chat, email, and documents.

How we built it

Using built-in Unicode support in Python and JavaScript. There are 4 zero width characters in Unicode, which means each character can represent 2 bits of information. Thus, 4 characters can encode a byte.

Challenges we ran into

We encountered a clipboard restriction in X11, a windowing environment for Linux. It culls zero width characters past 10 consecutive occurrences, which forced us to manage the distribution of the message throughout the decoy text.

Accomplishments that we're proud of

We made a truly useful program that will see much use outside of the hackathon.

What we learned

Python GUI with TKinter, bitwise operations, and converting between Unicode and bytecode.

What's next for InvisiCrypt

Time to take over the world! (Of casual cryptography.)

Built With

Share this project: