Another Digression We have Shared Key encryption fast but needs shared secret Public Key Encryption slow but no shared secrets There is also Cryptographic Hash Function Hash function Take data (perhaps much data) generate much smaller result where result depends upon input different input, different output though many differnt inputs produce same output Hash functions have many uses