split package:cryptonite

Split data to diffused data, using a random generator and an hash algorithm. the diffused data will consist of random data for (expandTimes-1) 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)