This page has been produced exclusively for educational purposes and for a better understanding
of cryptographic algorithms. Here are some libraries regarding encryption in JavaScript.
Why is it important to cryptography in JavaScript?
cryp.sr
– a minimal host-proof cryptographic textpad. The client-side code is up
on github.
Pidder,
Clipperz
and Passpack
are online password managers (and more). They have all released their code (links below).
Clipperz also has a
community edition of their website, Passpack has a sample application and Pidder just a crypto library.
WebIBC (PDF),
Identity Based Cryptography for Client Side Security in Web Applications.
Mozilla exposes a
window.crypto object.
Services are provided to enable: smart card events, generating certificate requests,
importing user certs, generating random numbers, logging out of your tokens, and signing text.
Crypto-JS is a growing collection of standard and secure cryptographic algorithms implemented in JavaScript using best practices and patterns. They are fast, and they have a consistent and simple interface.
Algorithms: MD5, SHA-1, SHA-256, AES, DES, Rabbit, MARC4, HMAC (HMAC-MD5, HMAC-SHA1, HMAC-SHA256) PBKDF2.
students stanford - RSA and ECC in JavaScript:
RSA Encryption - simple RSA encryption of a string with a public key
RSA Cryptography - more complete demo of RSA encryption, decryption, and key generation
ECDH Key Agreement - Diffie-Hellman key agreement using elliptic curves
jsSHA is a JavaScript implementation of the entire family of SHA hashes as defined in FIPS 180-2 (SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512) as well as HMAC. Despite JavaScript not natively supporting 64-bit operations, SHA-384 and SHA-512 are even implemented! jsSHA is also 100% cross-browser compatible.
pidCrypt is an open source JavaScript library of cryptographical methods combined in a modular class model. This is meant to facilitate a more efficient use of these methods. pidCrypt supports RSA and AES encryption and decryption, MD5 and SHA Hashes, ASN parsing and Base64/UTF8 en-/decoding. The RSA and AES-CBC en-/decryption are compatibility with OpenSSL.