  To study how to design steganographic algorithm more efficiently, a new
coding problem -- steganographic codes (abbreviated stego-codes) -- is
presented in this paper. The stego-codes are defined over the field with
$q(q\ge2)$ elements. Firstly a method of constructing linear stego-codes is
proposed by using the direct sum of vector subspaces. And then the problem of
linear stego-codes is converted to an algebraic problem by introducing the
concept of $t$th dimension of vector space. And some bounds on the length of
stego-codes are obtained, from which the maximum length embeddable (MLE) code
is brought up. It is shown that there is a corresponding relation between MLE
codes and perfect error-correcting codes. Furthermore the classification of all
MLE codes and a lower bound on the number of binary MLE codes are obtained
based on the corresponding results on perfect codes. Finally hiding redundancy
is defined to value the performance of stego-codes.
