Path: utzoo!utgpu!water!watmath!clyde!rutgers!mcnc!decvax!decwrl!sun!imagen!atari!portal!cup.portal.com!truett From: truett@cup.portal.com Newsgroups: sci.crypt Subject: Re: how do you tell encrytped data from Message-ID: <2415@cup.portal.com> Date: 12 Jan 88 10:45:02 GMT References: <660@bucket.UUCP> <3600002@osiris.cso.uiuc.edu> Organization: The Portal System (TM) Lines: 29 XPortal-User-Id: 1.1001.2190 Randomness or flatness of the probability distribution of the result is neither necessary nor sufficient for a good encryptor. First, it is not necessary. Consider the one time pad. In a binary stream, a one time pad will convert "random" streams to "nonrandom" ones just as often as it converts "nonrandom" (presumably plaintext) streams to apparently "random" ones. The only way to camouflage this effect is to increase the size of the apparent alphabet or state space of the message channel (somebody correct me if I'm wrong here.). It isn't sufficient either. Consider the linear congruential pseudorandum number generator: y = (ax + b) mod (n). For suitable a,b,n, you can use the successive characters of the message as values of x and the resulting stream of y values will be quite random. Another way is to use a data compression scheme like the ARC system used on many electronic bulletin board systems. The reduction of redundancy in a data stream makes it look more like noise than the original. Actually, good random number generators make quite good encryptors. So do ECC generators. Remember that Shannon demonstrated that the closer a noisy channel got to zero error, the more the data stream has to look like noise. Ergo: apply a really good ECC to the data stream (thus adding redundant data, see my comment above) and "BINGO" you have a good encryptor. Again, the answer is NO, you can't tell noise and encrypted data apart without a known encryption system. In the latter case, you tell by decrypting. Truett Lee Smith, Sunnyvale, CA UUCP: truett@cup.portal.com