A hash function has the properties:

  • Compression: maps an input of of arbitrary bit length to an output of fixed bit length which may be smaller
  • Polynomial time computable