Polynomial Theory of Error Correcting Codes