There MUST be a more efficient way than brute-force.
Of course a reverse hash function would be the golden ticket.
More attainable might be some function to produce a smaller set to brute-force.
Watch out Satoshi!...

reverse hash is just nonsense, Ill hash a video file for you and give you the hash, then you have to reverse the hash to the original video file, there is no way this can be done.
of course it would be impossible to reconstruct a 16gigabyte == 2^37 bit file from its 256bit hash.
but remember that a private key is only 256 bits.
256 bit is the output of SHA-256. input can be any length, including a 16gig file.
I know what a "one way" hash function is.
Last time i checked Bitcoin private keys were 256bit in length, why all the talk of other key sizes

you needn't think of forging keys of any length other than 256bit.
p.s.
i'm not saying it's possible or impossible, just keeping an open mind.