Hash functions based on block ciphers