A secret-key cipher based on error-correcting codes is introduced with the distinguishing feature that its error generator is implemented by a non-linear combination of codewords of two linear complementary codes. The error generator produces codewords of a non-linear structured code at its output. The security of the proposed cipher relies on the difficulty of the cryptanalyst in determining the non-linear transformation employed.