RSA by chosing large primes, it becomes very hard to factor the result construct public and private keys, discard original primes example for enc and dec n = pq where p and q are primes 77 = 7*11 pub key (e,n) priv key (d,n) eg, e=7,d=43 c = m^(e)%n m = c^(d)%n m = 9 -> c = 9^(7)%77 = 37 c = 37 -> 37^(43)%77 = 9 hash function transformation that takes a variable size input m an dreturns a fixed size string, called the hash value h = H(m), main role is in provision of digital sigs, for dig sig apps where a large message has to be "compressed" in a secure manner before being signed with the private key how cryptographic hashes work m -MD-> H(m) -RSA-> E[H(m)] -(concat crypto hash with original message)-> insecure network -> split to perceived message and crypto hash,E[H(m)], E -unRSA-> H(m), m' -(hash perceived message)-> H(m'), h - h' = m to verify identity, enc token with B's public key, send to B, wait for response from B with correct token 3 way handshake send id, encrypted token, secret key to server, responds with inc'd encrypted token and a new encrypted token along with handshake key, client responds with new token inc'd and secret key, server responds with encrypted handshake and shared key