Why use cryptography in Javascript? One major reason is the need to encrypt data before uploading it to a server; this is useful where the server needs to store data but doesn't wish to see it in the clear. It can also be used in desktop applications written in Javascript - for example, Firefox extensions.
We offer a fast, small symmetric encryption library written in Javascript. Though several such libraries exist, jsCrypto offers several advantages.
* A clean, simple interface to basic AES encryption/decryption, as well as OCB and CCM modes for authenticated encryption
* A cryptographic random number generator that collects randomness from user mouse movements, among other sources
* jsCrypto is at least four times faster in all browsers and about 12% smaller than the best previously existing implementation
* In Internet Explorer, jsCrypto is 11 times faster than the fastest previous existing implementation