1. A method of encrypting a data stream, comprising the steps of: providing a web browser; providing an application server; providing a communication channel; providing a data stream comprising an unencrypted text string, which string is further comprised of unencrypted text characters having numerical representations, m i ; providing a public client key, a modulus and a server session ID string, wherein at least the public client key and session ID string are generated by the server; converting the unencrypted text string into a cipher-text string using a salt key, a public-key algorithm, the public client-key and the modulus, wherein the salt key is formed from the server session ID string.