Size-Hiding in Private Set Intersection: what can be done and how to do it without random oracles