Information → Ciphertext → Integer → Move Sequence
A comprehensive breakdown of the symbolic steganography protocol. Tracing the transformation of entropy into rule-constrained chess notation.
Input data is hardened via AES-256-GCM. Optional password derivation uses PBKDF2-HMAC-SHA256 (100k iterations) to generate key material, establishing a cryptographically secure foundation.
The encrypted binary blob is treated as a single large integer. This value serves as the seed for the navigational path through the chess game tree, converting binary entropy into numerical coordinates.
For any given board state, legal moves are sorted lexicographically (UCI). The integer is 'mod' mapped to selectable moves, creating a deterministic isomorphism between data and game state.
When the integer exceeds the mainline capacity, the protocol branches. Variations act as recursive storage buckets, theoretically offering unbounded capacity constrained only by PGN file size limits.
AES-256-GCM ensures that without the key, the PGN is statistically indistinguishable from random noise. The ciphertext entropy is masked by the complexity of the game tree.
GCM authentication tags (128-bit) guarantee that any bit-flip in the PGN structure causes immediate decryption failure. The structure itself enforces the validity of the content.
The output is valid PGN. There is no "hidden" file, only a specific selection of legal moves from the realm of all possible legal games.
Key Space Complexity
We treat chess as a dynamic base number system where Base = Count(Legal Moves).
Before encoding into chess moves, data is packed into a strict binary format. This structure ensures that even if the PGN metadata is stripped, the core message remains self-contained and identifiable.
The "Integer Conversion" step treats the encrypted blob as a massive base-N number. We sort moves lexicographically to ensure 100% determinism across all clients, regardless of engine implementation details.