He just generated a series of normal full-length private keys with good PRNG, and then manually masked (XOR-ed) them to required length one by one.
i know. i wanna know a env where this process was doing.
He almost certainly used some env with good entropy, he obviously knew what he was doing. Zero chance that these random numbers have a weakness on PRNG side.
I didn't read enough into this puzzle to comment... and yet
Perhaps the equation to be solved is OP's way to provide random numbers? And perhaps it uses the block-chain to do so? Such as this concept for a block-chain generated random N I came up with a few years ago.
int CBlockHeader::GetNfactor() const
{
std::string spb = hashPrevBlock.ToString();
std::string lasthashchar = spb.substr(block_length,1);
unsigned char Nfactor = 19;
if((spb == "0000000000000000000000000000000000000000000000000000000000000000")){
Nfactor = 4;} // GENESIS
else if((lasthashchar == "0") || (lasthashchar == "6") || (lasthashchar == "a")){
Nfactor = 18;}
else if((lasthashchar == "1") || (lasthashchar == "b")){
Nfactor = 19;}
else if((lasthashchar == "2") || (lasthashchar == "7") || (lasthashchar == "c")){
Nfactor = 20;}
else if((lasthashchar == "3") || (lasthashchar == "d")){
Nfactor = 21;}
else if((lasthashchar == "4") || (lasthashchar == "9") || (lasthashchar == "e")){
Nfactor = 22;}
else if((lasthashchar == "5") || (lasthashchar == "f")){
Nfactor = 23;}
else if((lasthashchar == "8")){
Nfactor = 24;}
return Nfactor;
}