Cryptography-Digest Digest #543, Volume #10      Wed, 10 Nov 99 23:13:03 EST

Contents:
  Re: Data Scrambling references ("Douglas T. Yoest")

----------------------------------------------------------------------------

Date: Wed, 10 Nov 1999 21:27:36 -0800
From: "Douglas T. Yoest" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Subject: Re: Data Scrambling references

This is a multi-part message in MIME format.
==============9EAF9249A295CCD3CE608A22
Content-Type: multipart/alternative;
 boundary="------------F8C8EF36D009F6C8B470417B"


==============F8C8EF36D009F6C8B470417B
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi Larry,

    Just been doing that very thing. There are several important questions that
you
have to answer in order to select the best method. From your description you
need
a 'communications' random stream rather than a 'crypographic' random stream.
Undoubtedly, it is there to 1) smooth the spectrum of your data to optimize
power on the communications channel, and 2) to ensure an adequate number of
transitions to
facilitate clock recovery at the receiver. The common technique as John Savard
suggested is to use an LFSR to provide the desired random stream. The question
then
is how do you employ the darn thing. If you xor the output of the LFSR to your
data stream, you will have to give up some bandwidth to allow for synchronizing
the encoder and the decoder. In the presence of communications errors, each
communications error will result in 1 output error (that is no error
extension). But if you lose a bit or gain a bit (caused by differing clock
rates at the transmitter and the receiver (and they are almost always a little
different)) the encoder and decoder will be out of sync. Thus, you have to
provide a sync mechanism.

If you can't tolerate the overhead, an alternative is to use the LFSR as a
feedthrough randomizer. I have attached a drawing of a  bit serial feedthrough
randomizer
using a trivial polynomial.As shown in the example, the feedback bit to the
encoder
is the randomized data. At the decoder, the received data is input to the
register.
barring communications error the state of each of the registers is identical,
so the
decoder will strip off the randomizer bit applied at the encoder. If a bit
error occurs, the decoder state will be different from the encoder state, so
the output will contain errors until the incorrect bit dpros out of the decoder
register.(3 bit times in this example). This is called error extension. In a
noisy environment, this is a bad thing. If you have a clean communications
channel you probably won't care.The important thing is that it is
self-synchronizing. After N bits the encoder and the decoder have the same
state, thus no overhead.

So now, we have to address the problem of converting the bit serial randomizer
to a
parallel version. There is math behind this that I used to remember, but don't
now,
so I just slog through one bit at a time. For the example assume the bits to be
sent
are D, C, B, and A (msb to lsb) and that the current state of the LFSR is Z, Y,
and X

in(3 downto 0) = "DCBA",
R(2 downto 0) = "ZYX";

    Input           Feedback                         Output
       A           Z            Y         X          A+X+Y (AXY)
       B        AXY          Z         Y          B+Y+Z (BYZ)
       C        BYZ        AXY      Z          C+AXY+Z (ACXYZ)
       D      ACXYZ     BYZ    AXY      D+BYZ+AXY (ABDXZ)

Thus to parallelize the sinmple example for a 4 bit word width compute

out(0) = A xor X xor Y = in(0) xor R(0) xor R(1);
out(1) = B xor Y xor Z = in(1) xor R(1) xor R(2);
out(2) = A xor C xor X xor Y xor Z = in(0) xor in(2) xor R(0) xor R(1) xor
R(2);
out(3) = A xor B xor D xor X xor Z = in(0) xor in(1) xor in(3) xor R(0) xor
R(2);

and then the feedback register for the next 4 bit word is the last three output
bits

R'(0) = out(1);
R'(1) = out(2);
R'(3) = out(3);

Now remembering that this is for any word time in the process, its easy to see
that
the output bits are a thorough scrambling of the current and previous input
bits.
Basically the design is an LFSR that gets bumped in its state space every time
the
input bit is a one. Note that its possible to get bumped to the all zero state,
and stuck there if the input stream contains long runs of '0's.

So whats left. You need to pick a suitable polynomial for for your LFSR.There
is a web site at http://sue.csc.uvic.ca/~cos/gen/poly.html where you can find
primitive
polynomials up to degree = 31. The choice of length (degree) and the taps you
choose
depend on how much error extension you can tolerate, and how scrambled you like
your eggs (i mean data). I went with a degree 7 polynomial (7,4,0).
You also need to pick a word width. The smaller the word width, the less
complicated the implementation (but the more often you have to do it). 16 bits
was a natural word width for our application. The most significant two bits of
that implementation have 11 terms.

Hope this helps, (and I hope I haven't been insulting anyones intelligence)

Doug




Larry Mackey wrote:

> Hi,
>
> I have a project where we need to scramble (and unscramble) a parallel data
> stream such that when the data stream is serialized, the stream is a fairly
> symetrical set of ones and zeros.
>
> The data does not need to be compressed or encrypted rather we need to
> randomize the data on a bit level.
>
> I am trying to find a scheme that encodes and decodes the data words in as
> uncomplicated manner as possible.  This is presently a bi-directional path
> but we would like to be able to do this in a single direction only if
> possible.  Since all the data in the stream needs to be randomized, the
> decoding procress information needs to be extracted from the data stream or
> decoding logic.
>
> Does anyone have any suggestions, pointers to references, thoughts or
> ideas??
> We have been doing a number of web searches and have not found any
> references that go into enough detail to understand the process enough to
> replicate it.
>
> It appears that high speed data links 100 Mbit/sec and above use this
> approach but we are unable to find a detailed description anywhere of the
> logic, or process.  We don't have the $$ to buy all the various upper level
> reference documents called out to determine if they have the information we
> are looking for.

==============F8C8EF36D009F6C8B470417B
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Hi Larry,
<p>&nbsp;&nbsp;&nbsp; Just been doing that very thing. There are several
important questions that you
<br>have to answer in order to select the best method. From your description
you need
<br>a 'communications' random stream rather than a 'crypographic' random
stream.
<br>Undoubtedly, it is there to 1) smooth the spectrum of your data to
optimize power on the communications channel, and 2) to ensure an adequate
number of transitions to
<br>facilitate clock recovery at the receiver. The common technique as
John Savard
<br>suggested is to use an LFSR to provide the desired random stream. The
question then
<br>is how do you employ the darn thing. If you xor the output of the LFSR
to your data stream, you will have to give up some bandwidth to allow for
synchronizing the encoder and the decoder. In the presence of communications
errors, each communications error will result in 1 output error (that is
no error extension). But if you lose a bit or gain a bit (caused by differing
clock rates at the transmitter and the receiver (and they are almost always
a little different)) the encoder and decoder will be out of sync. Thus,
you have to provide a sync mechanism.
<p>If you can't tolerate the overhead, an alternative is to use the LFSR
as a feedthrough randomizer. I have attached a drawing of a&nbsp; bit serial
feedthrough randomizer
<br>using a trivial polynomial.As shown in the example, the feedback bit
to the encoder
<br>is the randomized data. At the decoder, the received data is input
to the register.
<br>barring communications error the state of each of the registers is
identical, so the
<br>decoder will strip off the randomizer bit applied at the encoder. If
a bit error occurs, the decoder state will be different from the encoder
state, so the output will contain errors until the incorrect bit dpros
out of the decoder register.(3 bit times in this example). This is called
error extension. In a noisy environment, this is a bad thing. If you have
a clean communications channel you probably won't care.The important thing
is that it is self-synchronizing. After N bits the encoder and the decoder
have the same state, thus no overhead.
<p>So now, we have to address the problem of converting the bit serial
randomizer to a
<br>parallel version. There is math behind this that I used to remember,
but don't now,
<br>so I just slog through one bit at a time. For the example assume the
bits to be sent
<br>are D, C, B, and A (msb to lsb) and that the current state of the LFSR
is Z, Y, and X
<p>in(3 downto 0) = "DCBA",
<br>R(2 downto 0) = "ZYX";
<p>&nbsp;&nbsp;&nbsp; Input&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Feedback&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Output
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
Y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A+X+Y (AXY)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
AXY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B+Y+Z (BYZ)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
BYZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AXY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C+AXY+Z (ACXYZ)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ACXYZ&nbsp;&nbsp;&nbsp;&nbsp; BYZ&nbsp;&nbsp;&nbsp; AXY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
D+BYZ+AXY (ABDXZ)
<p>Thus to parallelize the sinmple example for a 4 bit word width compute
<p>out(0) = A xor X xor Y = in(0) xor R(0) xor R(1);
<br>out(1) = B xor Y xor Z = in(1) xor R(1) xor R(2);
<br>out(2) = A xor C xor X xor Y xor Z = in(0) xor in(2) xor R(0) xor R(1)
xor R(2);
<br>out(3) = A xor B xor D xor X xor Z = in(0) xor in(1) xor in(3) xor
R(0) xor R(2);
<p>and then the feedback register for the next 4 bit word is the last three
output bits
<p>R'(0) = out(1);
<br>R'(1) = out(2);
<br>R'(3) = out(3);
<p>Now remembering that this is for any word time in the process, its easy
to see that
<br>the output bits are a thorough scrambling of the current and previous
input bits.
<br>Basically the design is an LFSR that gets bumped in its state space
every time the
<br>input bit is a one. Note that its possible to get bumped to the all
zero state, and stuck there if the input stream contains long runs of '0's.
<p>So whats left. You need to pick a suitable polynomial for for your LFSR.There
is a web site at <A 
HREF="http://sue.csc.uvic.ca/~cos/gen/poly.html">http://sue.csc.uvic.ca/~cos/gen/poly.html</A>
 where you can
find primitive
<br>polynomials up to degree = 31. The choice of length (degree) and the
taps you choose
<br>depend on how much error extension you can tolerate, and how scrambled
you like your eggs (i mean data). I went with a degree 7 polynomial (7,4,0).
<br>You also need to pick a word width. The smaller the word width, the
less complicated the implementation (but the more often you have to do
it). 16 bits was a natural word width for our application. The most significant
two bits of that implementation have 11 terms.
<p>Hope this helps, (and I hope I haven't been insulting anyones intelligence)
<p>Doug
<br>&nbsp;
<br>&nbsp;
<p><tt>&nbsp;</tt>
<br>Larry Mackey wrote:
<blockquote TYPE=CITE>Hi,
<p>I have a project where we need to scramble (and unscramble) a parallel
data
<br>stream such that when the data stream is serialized, the stream is
a fairly
<br>symetrical set of ones and zeros.
<p>The data does not need to be compressed or encrypted rather we need
to
<br>randomize the data on a bit level.
<p>I am trying to find a scheme that encodes and decodes the data words
in as
<br>uncomplicated manner as possible.&nbsp; This is presently a bi-directional
path
<br>but we would like to be able to do this in a single direction only
if
<br>possible.&nbsp; Since all the data in the stream needs to be randomized,
the
<br>decoding procress information needs to be extracted from the data stream
or
<br>decoding logic.
<p>Does anyone have any suggestions, pointers to references, thoughts or
<br>ideas??
<br>We have been doing a number of web searches and have not found any
<br>references that go into enough detail to understand the process enough
to
<br>replicate it.
<p>It appears that high speed data links 100 Mbit/sec and above use this
<br>approach but we are unable to find a detailed description anywhere
of the
<br>logic, or process.&nbsp; We don't have the $$ to buy all the various
upper level
<br>reference documents called out to determine if they have the information
we
<br>are looking for.</blockquote>
</html>

==============F8C8EF36D009F6C8B470417B==

==============9EAF9249A295CCD3CE608A22
Content-Type: image/jpeg;
 name="rand3.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="rand3.jpg"

/9j/4AAQSkZJRgABAgEAYABgAAD/2wCEAAICAgICAQICAgICAgICAwQDAwMDAwUEBAMEBgYH
BgYGBgYHCAoIBwcJBwYGCAsJCQoKCwsLBwgMDQwKDAoLCwoBAgICAwMDBQMDBQoHBgcKCgoK
CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCv/AAAsYAVMC
yAEBEQD/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsBAAMBAQEBAQEBAQEAAAAA
AAABAgMEBQYHCAkKCxAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEI
I0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZn
aGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJ
ytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6EQACAQIEBAMEBwUEBAABAncAAQIDEQQF
ITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RF
RkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeo
qaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAIAQEA
AD8A/fyiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiivn/
AOIX7QmjfDn4p+JPD2oeA/iBrekeA/Cth428YeJ9KGjnSvCmg3U2oxC5uY7i/hvp/LTR7+Z4
7K1uZNkahEeR1jPqF58QvAGm/GXSfhzqHjjwfYfEHXrRr/TPDFxrNrFrOo2iiVmmgsmcTyxA
W1wS6IVAhl5+RsZ/h/4sfCvxX8LNa8deFviX8P8AxL4I8Nfaf7X8Q6V4hsbzStK+zwrcXH2m
7ikaGHyoXSV97LsRlY4Ug1z/AIQ+O/wr8ZfCLw/46svGHh/S/DHjDxXqXg3w3fanq1jBD4l1
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
+KPCFlAgtrSw0p5o7az1SxjiFuo/tK7t7uFLe4ke71OSeKCHQ/4Wp8XdV/0Dw/8Asw/EDRtW
n/1F5428V+FNM0GHb8zfabnSdR1W+jygZU8mwn3SGNX8qMvNH0Hg74aa7Y/FOL4ifEbxv/wn
fj220q80SwOn6PFoeg+H7C7mtpbuLT7IST3X+ktp2myTNfXt6wktibc2sUrwn2Ciiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiivn/wCDf/Jx
X7WP/ZVdN/8AUH8KV9AUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV8/wDwb/5OK/ax/wCyq6b/AOoP4Ur6Aooooooo
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
oooooooor5/+Df8AycV+1j/2VXTf/UH8KV9AUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV8/8Awb/5OK/ax/7Krpv/
AKg/hSvoCiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiivn/4N/8AJxX7WP8A2VXTf/UH8KV9AUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV8//
AAb/AOTiv2sf+yq6b/6g/hSvoCiiiiiiiiiiiiiiiiiivL/jd411X4a/sX/F34i6Fb6fd634
A8Fa/wCJNPgv0d7Sa6sbGa6hSZUdHaIvEoYK6MVJAZTyPEPhp+0PrE+j+N9R+IP/ABPfB/gj
VdN0zV/Gtj4C1jwLD4ZuLm1kurmHVtB1q6m1K2trOBtIuZdSBa38rW4pGSG3sb26Tv8A4l/F
DxTp/wCyJpvjbwRpP/CLeIPE3ivwn4d0qPxtoc7/AGS21nxJY6Kt7c6bFdW9wuba9+1pbSzW
1wm6OO4S3lWWFM9/j1H4P+AXxQ1/4iWGny638D/EFn4W8Ty6Zqel6Lpmq3VzbabeW13Zza1f
W1taxS2us2MjwXV2GhmM9tHNemOKe55DwX+1NL4v8d+NdWXwB4g0v4UaH8FfCPxe0rWNRutD
sJrmHVo9TuXhnlm1QQwbobNIozOIIopbLUWnnSBrSWb2/wCDXxY8PfG/9njRviV4VtNQsdE1
q71WzhhvLiwuZBJp9/cadMVmsLi5tJommtJGjlgnljkjKOrENXqFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFfP/wAG/wDk4r9rH/squm/+oP4Ur6Ao
ooooooooooooooooorn/ABZ4W0Hxx8LPEvgnxTYf2p4Y8YaVeaJq9n50sH2uwu4XguIvMiZZ
E3xSOu5GVhnIIIBrn9W+FvgTXfimvjPV9C+3eIP+JH5kkl7dfZrj+xpr650vzrQSC3m+y3Oq
XdzF5kbbbj7POP3trbPDn6n8Gvh3qv7PEXwpn0bULXwJa3dpeWWn6drmpadJpMlpfx6nZLY3
VtPHcWUVrdQwG2it5I47eOGKGJY4Y0jXP1n4EfDPXPhZ4T8HXOl+INP0jwPqsmu6NcaN4q1r
R9VttVlhu4Li8fU7K6ivp7m4TUb83E00zvcPdTSTGSR2Y8/d/sv/AAVu/DthpP8AwjviCw0/
S/CvhnwXaRab4x1/T/s+keHr5dS0RVa3vEYXNldp5sN5n7Uu+RfN2SOregeGfDPgT4LfAm50
3Tbn/hGvBHhr+1tdv7/Xddurz7N9ouJ9S1G8vNR1CaSZt009zcSzTynG5iSFHHYaTq2la94V
0zXdC1LT9a0TWrSG/wBP1CwuEubS/tJkEkM0MqEpJE6MrK6kqykEEg1oUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV8/6h8C9W/4W7468W+Evjt8X/h3
/wALE1W21vVtJ0S08JXNh9vh02y0oSxHUtFu7hN1tptqGXziu5WIC7iKP+FN/EX/AKOx+P8A
/wCCj4ef/MzR/wAKb+Iv/R2Px/8A/BR8PP8A5maP+FN/EX/o7H4//wDgo+Hn/wAzNH/Cm/iL
/wBHY/H/AP8ABR8PP/mZo/4U38Rf+jsfj/8A+Cj4ef8AzM0f8Kb+Iv8A0dj8f/8AwUfDz/5m
aP8AhTfxF/6Ox+P/AP4KPh5/8zNH/Cm/iL/0dj8f/wDwUfDz/wCZmj/hTfxF/wCjsfj/AP8A
go+Hn/zM0f8ACm/iL/0dj8f/APwUfDz/AOZmj/hTfxF/6Ox+P/8A4KPh5/8AMzR/wpv4i/8A
R2Px/wD/AAUfDz/5maP+FN/EX/o7H4//APgo+Hn/AMzNH/Cm/iL/ANHY/H//AMFHw8/+Zmj/
AIU38Rf+jsfj/wD+Cj4ef/MzR/wpv4i/9HY/H/8A8FHw8/8AmZo/4U38Rf8Ao7H4/wD/AIKP
h5/8zNH/AApv4i/9HY/H/wD8FHw8/wDmZo/4U38Rf+jsfj//AOCj4ef/ADM0f8Kb+Iv/AEdj
8f8A/wAFHw8/+Zmj/hTfxF/6Ox+P/wD4KPh5/wDMzR/wpv4i/wDR2Px//wDBR8PP/mZo/wCF
N/EX/o7H4/8A/go+Hn/zM0f8Kb+Iv/R2Px//APBR8PP/AJma4D4sfs5fFHxx+yx8S/BOnftR
fF/VNQ8YeFdZ0S1s9d07wRBpV3Nd2csCRXkln4bW6S2dpAsrW7LKELGMhwDXx/8Aso/8EwPH
f7O3juLxcf2sviB4f1DUtKh/tbRPAOm2tlYS6qIyg+0PqQvLXU7aBbi9SH7Rp8bhpUmXyHUo
f1v0myuNN8K6Zp15q2oa9d2FpDbz6nfpbpdajIiBWnmW3iigEshBdhFFHGGY7ERcKNCiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiivzQm8a2Lf8ABXP4l+H/ABD498Hw3em/
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
4gWuoeG9K1GxfSLXxl4ht7C5uJ59ImgkS3iv0tYbZF0hlnslt/s9606yXCyPCpboPiR8Pdd+
JusWfh/UNe/4Rn4f6V9h1uObSDFJrd94jtLoXWnSk3MElvb22n3NtZ36LtnN3cLCkwjtLee3
1Pn/AIn/AAg1j46fsPeIvhh8Rtd/4R3xNr2larpj6x4P1TWLGwNxLb3NlBeSWkVzBJPbSRTJ
cS6VczXFuGbyHluxEty/qGmeA/DOm/BqT4fz2uoeJfClzaXdhd2nirVb3xLJqNpcmQzw3dxq
ctxPdROJXQpM7qIyIwAihRz/AMIfBOq+APhTq2haxcafc3d9418b+JI3s3d4xaaz4j1LV7VC
XRD5q299CkgAKiRXCs6gO3qFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFf//Z
==============9EAF9249A295CCD3CE608A22==


------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: [EMAIL PROTECTED]

You can send mail to the entire list (and sci.crypt) via:

    Internet: [EMAIL PROTECTED]

End of Cryptography-Digest Digest
******************************

Reply via email to