Writingpropererrorcorrectingencodingalgorithmandencryptionalgorithm