What would happen to public-key cryptography if it were proven that P = NP (with efficient algorithms to match)?