3

When I'm convincing non-believers that crypto is secure, I have a hard time with hash functions and the associated block ciphers.

It is easy to show why RSA is hard to crack: I multiply two small primes and ask people to factorize the product. They find it difficult compared to the multiplication step.

It is easy to show how Vernam cipher is secure: I tell them an Alice and Bob story with a flipping coin as an RNG.

But when it comes to the hashing, I am not even sure I know the underlying mathematical problem. It would be great to have a small intuitive example of that problem for illustration.

If it is indeed the boolean satisfiablity problem then I can at least mention that it is the hardest in the NP class, and if we solve it then P=NP, because many have heard about that.

I can use the argument that greed is innate to human nature and if there is at least one person who knows how to reverse hashes, they will incessantly mine crypto out of thin air and the exchange rate will eventually drop. But it is somewhat shaky I think.

forest
  • 15,626
  • 2
  • 49
  • 103
Timur Timak
  • 145
  • 7

1 Answers1

4

Cryptographic problems should be hard in average. NP-Complete problems such that SAT are supposed to be hard in the worst case. But, for many practical distributions, SAT is not hard in average.

If it is indeed the boolean satisfiability problem then I can at least mention that it is the hardest in the NP class

This sentence is wrong, if we consider a specific distribution on inputs.

To conclude briefly the answer is no. But, if P=NP, then no efficient cryptographic constructions are possible at all (neither symmetric nor asymmetric).

Here efficient means with asymptotic exponential gap between the standard operations (encryption, decryption, signature, etc), and the cryptanalysis.

You can read about the Impagliazzo's Five Worlds, if you want more details about this comparison.

Ievgeni
  • 2,653
  • 1
  • 13
  • 35