Skip to content

Anders Andersen

Sections
Personal tools
You are here: Home » The (aa) blog » AES client-side encryption

AES client-side encryption AES client-side encryption

Document Actions
Submitted by aa. on 2006-11-30 12:37 AM. Other
JavaScript client-side encryption and decryption

Halfnote does client side encryption and decryption in JavaScript (in your web-browser) by storing the key locally. It uses local storage in IE 5+ and Firefox 2 (see Halfnote: Secure Document Sharing). This only works in these two browsers. Another approach were you not store the keys are possible, since the key can be generated from a password (see RFC 2898). A JavaScript implementation of Password-Based Key Derivation Function 2 (PBKDF2) exists, and this is used in the Ajax password manager Passlet. See also Host-Proof Hosting, an Ajax pattern where all encryption and decryption takes place inside the browser itself.

To build a complete system you need to generate the keys (pbkdf2.js), you need the be able to encrypt and decrypt with these keys (rijndael.js), and you need a SHA-1 JavaScript implementation (sha1.js). The source of the Passlet site (use view source in your browser) should give you an example on how to use this to implement AES client-side encryption and decryption in JavaScript. [via]

November 30 2006 (aa)

 

Powered by Plone

This site conforms to the following standards: