úÎÏunknown experimental#Vincent Hanquez <vincent@snarc.org>None:Split data to diffused data, using a random generator and  an hash algorithm. Bthe diffused data will consist of random data for (expandTimes-1) L then the last block will be xor of the accumulated random data diffused by  the hash algorithm.  ---------  - orig -  ---------- $--------- ---------- -------------- & - rand1 - - rand2 - - orig ^ acc - & ---------- ---------- -------------- where acc is : + acc(n+1) = hash (n ++ rand(n)) ^ acc(n) :Merge previously diffused data back to the original data. inplace Xor with an input  dst = src  dst !Hash function to use as diffuser Random generator to use %Number of times to diffuse the data. original data to diffuse. The diffused data Hash function used as diffuser 'Number of times to un-diffuse the data Diffused data Original data !Hash function to use as diffuser  afis-0.1.0Crypto.Data.AFISsplitmergexorMembase Data.Bitsxordiffuse