New Algorithms and Reductions for Hard Cryptographic Problems