Regarding the current problem in finding the key of the "Gauss"-Trojan it occur to me that it might be already quite sufficient to generate a highly secure derived Key for Encryption/Decryption this way

Code:
  R     Random Value
  S_1   Salt
  S_2   Salt

  K     pre-shared Key
  iK    intermediate Key
  dK    derived Key for Encryption/Decryption

  #i    Hashing Iteration

  ||    Concatenating Strings


  S_1 = md5(R)
  S_2 = md5(R)
  iK  = md5(S_1 ||  K, #i..)
  dK  = md5(S_2 || iK, #i..)
If I understand it correctly even the knowledge of parts of the key doesn't really help in breaking the RC4 encryption of the "Gauss"-Trojan. It amazes me that such a simple construct of a hash which is widely considered as broken can give such strength to the RC4 stream cipher.

Cheers,
Karl-Uwe