// COMPLETE THREAD

Gao's Chaos Cryptosystem Algorithim

3 expanded posts ยท every known parent and child

NODE 7cc0fe94Gao's Chaos Cryptosystem Algorithim
P(i) Plaintext,C(i) Ciphertext,K(j) Key,Ch(i) Chaos signal,
L Irrational number


P(),C()-->Manage in byte,Length supposing that n byte.
K()-->Character line from ASCII CODE,Length supposing that m.


Ch(n)
begin
Xn+1=aXn(1.0-Xn)
return Xn+1
end


f(K)
begin
w = Sigmaj strtoul(K(j))j

delay=int(w/L)
return(double)(w/L-delay)
end


1.K input
2.delay generato
3.Ch(i) generato
4.P(i) acquire
5.C(i)=P(i) XOR Ch(i+delay)
6.C(i) output



______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
NODE 25b8a1b5Re: Gao's Chaos Cryptosystem Algorithim
Nobuku,

Could you please write your encryption algorithm in some more formal
language (like C or Pascal) more completely? At least to me, the way you
presented it is a bit hard to understand.

Thank you

igor

Nobuki Nakatuji wrote:
> 
> 
> P(i) Plaintext,C(i) Ciphertext,K(j) Key,Ch(i) Chaos signal,
> L Irrational number
> 
> 
> P(),C()-->Manage in byte,Length supposing that n byte.
> K()-->Character line from ASCII CODE,Length supposing that m.
> 
> 
> Ch(n)
> begin
> Xn+1=aXn(1.0-Xn)
> return Xn+1
> end
> 
> 
> f(K)
> begin
> w = Sigmaj strtoul(K(j))j
> 
> delay=int(w/L)
> return(double)(w/L-delay)
> end
> 
> 
> 1.K input
> 2.delay generato
> 3.Ch(i) generato
> 4.P(i) acquire
> 5.C(i)=P(i) XOR Ch(i+delay)
> 6.C(i) output
> 
> 
> 
> ______________________________________________________
> Get Your Private, Free Email at http://www.hotmail.com
> 



	- Igor.
NODE d66cc688Re: Gao's Chaos Cryptosystem Algorithim
There has been work like this done before, though I don't have references
handy.
Check Schneier's "Applied Cryptography".  It hasn't been very successful -
the output of the system looks very random, but you can predict each value
from the last, so known plaintext attack kills it.  And even if the
mathematics are strong, the implementation can be weak.

At 09:18 PM 9/8/97 PDT, Nobuki Nakatuji wrote:
>P(i) Plaintext,C(i) Ciphertext,K(j) Key,Ch(i) Chaos signal,
>L Irrational number
>
>P(),C()-->Manage in byte,Length supposing that n byte.
>K()-->Character line from ASCII CODE,Length supposing that m.
>
>Ch(n)
>begin
>Xn+1=aXn(1.0-Xn)
>return Xn+1
>end

How long are Xn and Ch(n)?  Double (64-bit IEEE floating point)?
Is 0<Ch(n)<1 ?  (I assume yes...)
How long is L (since a true irrational is infinitely long)?
Is L part of the key, or shared by everybody?

>f(K)
>begin
>w = Sigmaj strtoul(K(j))j
>delay=int(w/L)
>return(double)(w/L-delay)
>end

How is f(K) used?  Initialize Ch(0)?  
What is strtoul?  String to Unsigned Long?
If size(w) == ul == 32 bits, you only have a 32-bit key, too weak.
If size(w) == 64 bits, maybe you have a chance.
Be sure each piece of K(j) is long enough - adding a bunch of
short numbers together does not produce a long number.
An MD5 hash would be much better.

>1.K input
>2.delay generato
>3.Ch(i) generato
>4.P(i) acquire
>5.C(i)=P(i) XOR Ch(i+delay)
>6.C(i) output

How do you XOR a plaintext byte with (double) Ch(i)?
Do you really just use 1 byte of the Ch(i)?  Then you may have a chance.
If you use all the bits of Ch(i), then known plaintext lets you
take C(i) XOR P(i) == Ch(i), which lets you generate Ch(i+1)....
You may not know the key, but you don't need to if you know the function.