Help information

The work of the pshash pseudo-hash function is pictured like that:

Here, every set of same-colored circles represents a source, i.e. an array of characters. A source configuration is an array of sources paired with the amounts of symbols to be picked from each source. For example, here the function will pick two circles from the red source and four circles from the green source.

The first stage is the Merge-Choice stage (MC), which takes a source configuration L and a key k1 (the private choice key), picking the given amounts of elements from the sources and then shuffling them all together. The second, Shuffle stage takes the resulting list of elements and a second key k2 (the private shuffle key), performing a second shuffle on the list. This is done to ensure that multiple pairs of keys return the same final pseudo-hash, and thus the user's particular pair is impossible to guess.

The pshash function accepts the following inputs:

You can use the algorithm here.