Error correcting codes that are indistinguishable from random
The actual message n is encrypted by a symmetric encryption scheme using some shared secret


The symmetric encryption is keyed by what key?  Is it something that the encryptor picks?  If so, how does it get to the decryptor (as the decryptor would need it before he can attempt a decryption).  Is it something that both sides share?  If so, how is this 'public key encryption' (which typically assumes that the encryptor has access only to publicly available information)?
  And, if you do have a shared symmetric key, what are you bothering with asymmetric crypto?

On the other hand, might I suggest considering thinking about this 'indistinguishability from random' option (and why it is a requirement)?  In general, we usually don't need something that is literally indistinguishable from a set of random bits (some cases do arise; they're comparatively rare).  Instead, it is generally enough to have 'indistinguishable from a random selection from a specific set' (and it doesn't matter what that set it); that formulation preserves the IND-CPA property we are typically interested in.  And, if you just generate the 256 bit indistinguishable-from random word, and then apply your error correcting code to it, this set becomes 'the set of all valid code words in your error correcting code', which is enough for most purposes.

I had to put in some cavaet language in there, because there are some uses that really do require 'indistinguishability from a set of random bits'; what is your use case?