Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.BERKELEY.EDU Path: utzoo!watmath!clyde!burl!ulysses!ucbvax!brahms!desj From: desj@brahms.BERKELEY.EDU (David desJardins) Newsgroups: net.crypt Subject: Re: Decryption of corrupted files... Message-ID: <13619@ucbvax.BERKELEY.EDU> Date: Sat, 3-May-86 20:20:38 EDT Article-I.D.: ucbvax.13619 Posted: Sat May 3 20:20:38 1986 Date-Received: Sun, 4-May-86 23:30:53 EDT References: <60@rtgvax.UUCP> <757@hoptoad.uucp> Sender: usenet@ucbvax.BERKELEY.EDU Reply-To: desj@brahms.UUCP (David desJardins) Organization: University of California, Berkeley Lines: 28 In article <757@hoptoad.uucp> gnu@hoptoad.uucp (John Gilmore) writes: >The traditional way to improve data reliability when there is no chance >to recover the data is called "forward error correction". It adds some >redundant data to the message. >..... >But: Any kind of redundancy you put in your cleartext (or enciphering >algorithm) will cause it to be easier to break. A simple example. >Let's say you put a parity bit in each character before encrypting. A >code-breaker who tried a key that produced bad parity characters would >know that that was the wrong key. >..... >There's probably no simple way to make your data both easier to recover >(for you) and harder to recover (for a codebreaker). Well, all you need to do is to apply any sort of error-correcting scheme *after* encryption (i.e. on the ciphertext). Then, if the file is corrupted, or you have transmission errors, then you hopefully will still be able to recover the ciphertext, which you can then decrypt. Since the error correction is applied *after* the encryption, it gives no additional information to the adversary. The field of error-correcting codes is far too large for me to go into here, and algebraic coding in particular, which is what I am supposed to be studying (sigh...), requires some knowledge of modern algebra. There seems to be a need for a book on "Error Correcting Codes for Programmers," which would describe how to implement some simple error-correcting codes, but I don't know of any such book.... -- David desJardins