Civic-sjcl is a fork of SJCL pre-built with the ecc module. The reason for this fork is to allow us to include the precompiled output in civic repositories without having to either manually compile on install or create local modules with the precompiled verison. This fork ensures all civic repos use the same version of sjcl.js.
It is important that this fork stays up-to-date with the original upstream repo, to ensure we get the latest security updates. To update from the remote upstream, developers should set the following remote upstream in their local checked-out repo:
git remote add upstream https://github.com/bitwiseshiftleft/sjcl
To merge from the upstream remote:
git fetch upstream
git merge upstream/master
Make sure to keep tags up to date with the upstream remote.
Stanford Javascript Crypto Library
- 12.02.2014: the current development version has a paranoia bug in the ecc module. The bug was introduced in commit ac0b3fe0 and might affect ecc key generation on platforms without a platform random number generator.
Security Mail: sjcl@ovt.me
OpenPGP-Key Fingerprint: 0D54 3E52 87B4 EC06 3FA9 0115 72ED A6C7 7AAF 48ED
Keyserver: pool.sks-keyservers.net
codecBase32 has been re-enabled with changes to conform to RFC 4648:
- Padding with
=is now applied to the output offromBits. If you don't want that padding, you can disable it by callingfromBitswith a second parameter oftrueor anything that evaluates as "truthy" in JS - The encoding alphabet for
sjcl.codec.base32now matches that specified by the RFC, rather than the extended hex alphabet. - The former extended hex alphabet is now available through
sjcl.codec.base32hex(also matching the RFC). So if you encoded something withbase32before, you'll want to decode it withbase32hexnow.
The documentation is available here
