It's not an easy problem. I take it for granted that the government is monitoring at least a large fraction of electronic communications today -- I think it's likely that they're sniffing all email that goes through the main backbone of the Net. Lots of people say that Encryption Is the Answer, but that's just not true: until and unless encryption becomes truly widespread (and kudos to Microsoft, who are making a real effort to do that with their new network stack), if you use encryption you are *totally* obvious, and become an immediate target. Encryption is only really effective in such a situation if it doesn't *look* like encryption.
Which brings up the idea: what about hiding your secret messages in spam? I mean, think about it. Spam is everywhere today, and it's perfectly normal for ordinary, harmless machines to be sending it out. It accounts for a *huge* fraction of all email sent, and the government sniffers have to be filtering against it.
But spam *is* essentially an encryption mechanism, designed to be hard for machines to read but easy for humans to do so. Typical modern spam contains images full of random noise, and tons of randomly-chosen and often misspelled words -- loads of just the kind of entropy that makes for good data-hiding. Any software engineer who can't figure out how to harness that for hiding secret messages should hang up his keyboard. Done right, I bet it it would give the NSA *fits*. It's hard enough to recognize that a given message *is* spam -- I'd bet that figuring out that it isn't *really* spam, but actually contains embedded communication, is much harder.
So remember: when the time comes, and people are up against the wall, spam may prove to be your best friend...