I once worked with a computer programmer who did not "believe" that a one-way hash is theoretically possible. His reasoning was "if you transform something into something else with a computer program (a predetermined set of steps) it is also always possible, by reversing the steps, to get back to the original".
I dramatically adjusted down the amount of reasoning I thought the 'average' person is capable of over the months that I tried to explain / convince him. It's very well possible that I wasn't able to explain because I don't fundamentally understand myself; but even all the 'circumstantial' evidence couldn't convince him. And that was from a person who, statistically and objectively speaking, is at least above the median in intelligence and thinking power.
I've found that the easiest way to explain one-way hashes is to start with the simplest example possible, a function isEven which takes and Int and returns 1 is the argument is even and 0 otherwise. Most people have no trouble accepting that, given only the output, it is impossible to work out what the original input was. Once they've accepted that, building up from there is relatively painless
I dramatically adjusted down the amount of reasoning I thought the 'average' person is capable of over the months that I tried to explain / convince him. It's very well possible that I wasn't able to explain because I don't fundamentally understand myself; but even all the 'circumstantial' evidence couldn't convince him. And that was from a person who, statistically and objectively speaking, is at least above the median in intelligence and thinking power.