I want to create a shuffling function that generates a reversible output from a seed and an input string, but that will also shuffle the string such that the seed can be calculated from the input string and the output string. This will only be useful if the seed is less than the length of the input string.
This question is similar to Reversible shuffle algorithm using a key and Unshuffle an array of int/char, but is different in that we do not know the "seed" of the output string. We are not trying to reverse a random operation, but represent a string in a different way.
A = '1111100000'
and B = '0101010101'
Basically shuffle(A,calc_seed(A,B)) = B
shuffle(A,seed) should return a string based off A and the seed. calc_seed(A,B) should return the seed needed to be inputed into shuffle() to return B.
Is this possible without using brute force to find the seed, and so that there exists a seed for every A and B that will allow A to be converted to B?