Implemented client side crypto and session key generation