SJCL is easy to use: simply run
"data") to encrypt data, or
"encrypted-data") to decrypt it. For users with more complex
security requirements, there is a much more powerful API, described
in the documentation and illustrated in
this demo page.
SJCL is small but powerful. The minified version of the library is under 6.4KB compressed, and yet it posts impressive speed results.
SJCL is cross-browser. We hope. We've tested it on all the install browsers on the security lab computers (including various versions of Internet Explorer, Chrome, Firefox, Safari and Opera on Mac, Linux and Windows) and on the rhino engine, but still need to do more comprehensive testing. We have a test page up on this site; if it reports any failures, please report an issue.
SJCL is open. You can use, modify and redistribute it under a BSD license or under the GNU GPL, version 2.0 or higher.
The main branch of SJCL supports symmetric-key cryptography. See the ecc branch for elliptic curve crytography.
SJCL was written by Emily Stark, Mike Hamburg and Dan Boneh at Stanford University. Special thanks to Aldo Cortesi and Roy Nicholson for reporting bugs in earlier versions of SJCL. This project is supported by NSF. A whitepaper on SJCL (also by Emily Stark, Mike Hamburg and Dan Boneh) was published in the 2009 Annual Computer Security Applications Conference.