The computational complexity of universal hash functions