Idealizations Of Practical Cryptographic Building Blocks