In this paper, we consider coding schemes for computationally bounded channels, which can introduce an arbitrary set of errors as long as (a) the fraction of errors is bounded with high probability by a parameter p and (b) the process which adds the errors can be described by a sufficiently "simple" circuit.
For three classes of channels, we provide explicit, efficiently encodable/decodable codes of optimal rate where only inefficiently decodable codes were previously known. In each case, we provide one encoder/decoder that works for every channel in the class.
(1) Unique decoding for additive errors: We give the first construction of poly-time encodable/decodable codes for additive (a.k.a. oblivious) channels that achieve the Shannon capacity 1-H(p). Such channels capture binary symmetric errors and burst errors as special cases.
(2) List-decoding for log-space channels: A space-S(n) channel reads and modifies the transmitted codeword as a stream, using at most S(n) bits of workspace on transmissions of n bits. Even for constant S, this captures many models from the literature, including discrete channels with finite memory and arbitrarily varying channels. We give an efficient code with optimal rate (up to 1-H(p)) that recovers a short list containing the correct message with high probability for channels limited to logarithmic space.
(3) List-decoding for poly-time channels: For any constant c, assuming the existence of pseudorandom generators, we give a similar list-decoding result for channels describable by circuits of size at most n^c.