[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Here it is; bi-directional dining cryptographers
Phil Fraering <[email protected]> observes:
> If Alice and Bob are members of a reasonably non-compromised and
> free of colluders dining-cryptographers network, with a protocol for
> reserving blocks for the transmission of data packets, then if they
> both send a data packet in the same block, they can each read what
> the other is saying but to the rest of the DC-net it is garbled.
>
> Since what is broadcast is the XOR of Alice's and Bob's data, Alice can
> read Bob's data by XOR'ing the output of the DC-net with her attempted
> input; Bob can recover her data the same way.
>
> Comments?
I haven't been following the DC thread so forgive me if I've missed
something...
If the objective is to keep what Alice and Bob say SECRET then we
have a problem if the entropy per bit of Alice's data plus the
entropy per bit of Bob's data is less than one bit, because then
there is only one likely decryption of the "ciphertext", which will
reveal what both Alice and Bob are saying.
The system is analegous to a variation on the old Vigenere/Beaufort
cipher where instead of using a single repeated keyword to generate
to encryption stream, you use another "plaintext" message such as a
passage from a book which is known to both correspondents. (Here the
addition is done mod 26 instead of mod 2).
Since the entropy of natural language is 1-1.5 bits/char, the entropy of two
natural language texts added together is 2-3 bits per char, while the
no of ciphertext bits is about 5 bits per char, so there remains 2-3
bits per char of redundancy in the text, which can (quite easily) be
used to break the system even on a ciphertext-only basis.
One way to do this is to search for "probable words" of one side of
the conversation, then see what the other text would have to have
been to generate the known ciphertext, and if this other text makes
sense then bingo, we have an initial break, and you can usually
extend this quite easily by extending one text, then seing what this
gives for the other, extending that, and so on.
> (At the very least, it doubles the bandwidth for the two participants...)
I have to agree here, though!
Andrew
___________________________________________________________________________
#!/usr/local/bin/perl -s-- -export-a-crypto-system-sig -RSA-in-3-lines-PERL
($k,$n)=@ARGV;$m=unpack(H.$w,$m."\0"x$w),$_=`echo "16do$w 2+4Oi0$d*-^1[d2%
Sa2/d0<X+d*La1=z\U$n%0]SX$k"[$m*]\EszlXx++p|dc`,s/^.|\W//g,print pack('H*'
,$_)while read(STDIN,$m,($w=2*$d-1+length($n||die"$0 [-d] k n\n")&~1)/2)
Andrew Roos Realtime
PO Box 15170
Vlaeburg 8018
Phone: +27-21-244350 Cape Town Cape Town
Fax: +27-21-221507 South Africa