That's not really good encryption but does a basic job.

I would check out RSA encryption. This article seems to cover it well: http://www.devx.com/security/Article/17455/0/page/3