Computational hardness assumptions