The efficacy of a subchannel encoding strategy is simply a measure of
how well it prevents an attacker from proving the existence of the
subchannel. Of course, another desirable feature of a subchannel
is the ability to embed more, rather than less, bandwidth in it.
Sometimes a couple of bits of subtext are sufficient for a particular
purpose; but most of the time you are more likely to need
the ability to send more
extensive messages. Unfortunately, the goals of bandwidth and
invisibility tend to pull in opposite directions: More fiddling with
bits makes detection more likely and easier.
Your first assumption in designing subchannel encoding should
be that an attacker is at least as able to identify non-predictable
variation as you are. Do not try to hide the message simply by
assuming an attacker will not know where to look. The key in
maintaining the invisibility of a subchannel is to make sure
that the distribution and pattern of subchannel bits
closely match those in a typical file of the same format.
In many cases, the expected distribution of pre-encoded
subchannels will be uniform and stochastic -- but not always. You
have to look at whether there is a bias toward 1 (or 0) in the
pre-encoded subchannel slot (the bits or variations you have
identified as encoding sites); but you also have to look at whether
there is a frequency shift between the start and end of a file
and/or whether cyclicalities exist in bit frequencies of pre-encoded
subchannels. A good first step is to extract a large number of
pre-encoded subchannels, and see if this data is compressible (if
so, it is not purely stochastic and uniform, and you need to look
more closely at the patterns).