merkle - damgard revisited : how to construct a hash function .
Universally composable security: a new paradigm for cryptographic protocols