95aaa82003-12-03Martin Nilsson #pike __REAL_VERSION__
59bfa12005-01-23Martin Nilsson #pragma strict_types
95aaa82003-12-03Martin Nilsson 
af10832003-12-03Martin Nilsson //! Arcfour is a stream cipher, also known under the trade marked name //! RC4, and it is one of the fastest ciphers around. A problem is //! that the key setup of Arcfour is quite weak, you should never use //! keys with structure, keys that are ordinary passwords, or //! sequences of keys like @expr{"secret:1"@}, @expr{"secret:2"@}, //! ..... If you have keys that don't look like random bit strings, //! and you want to use Arcfour, always hash the key before feeding it //! to Arcfour.
627c732004-04-14Martin Nilsson #if constant(Nettle) && constant(Nettle.ARCFOUR_Info)
a164de2003-12-03Martin Nilsson 
95aaa82003-12-03Martin Nilsson // NOTE: Depends on the order of INIT invocations. inherit Nettle.ARCFOUR_Info; inherit .Cipher; .CipherState `()() { return Nettle.ARCFOUR_State(); }
a164de2003-12-03Martin Nilsson 
627c732004-04-14Martin Nilsson #else constant this_program_does_not_exist=1;
a164de2003-12-03Martin Nilsson #endif