One-sided Chess Steganography

(See also the two-sided mode, for when you can control both side's moves).

This is a tool to encode/decode data in chess games. It first encodes the input data as a bignum, and then encodes the bignum in the move choices of one of the players in the game. The "without blunders" mode uses p4wn to try to avoid playing bad moves. This mode is less likely to arouse suspicion among actual chess players, but results in longer games.

Compared to the two-sided mode, this one-sided mode results in games that are approximately twice as long, as it can only encode half as much information per move. The advantage is that it can be used when playing a game against an opponent who is not complicit in the steganography.

Also check out Jonas Enge's CLI implementation.

Make sure to select which side the moves are stored in before clicking the "Steg" or "Unsteg" buttons:

By James Sanley.
Source on github.