Giter Site home page Giter Site logo

thew0lf / javascript-crypto-library Goto Github PK

View Code? Open in Web Editor NEW

This project forked from clipperz/javascript-crypto-library

0.0 2.0 0.0 670 KB

The JavaScript Crypto Library provides web developers with an extensive and efficient set of cryptographic functions. The library aims to obtain maximum execution speed while preserving modularity and reusability. The library is released as open source under a BDS license.

Home Page: https://clipperz.is/open_source/javascript_crypto_library

License: BSD 3-Clause "New" or "Revised" License

JavaScript 82.77% CSS 0.03% HTML 17.20%

javascript-crypto-library's Introduction

Clipperz icon JAVASCRIPT CRYPTO LIBRARY - by Clipperz

The JavaScript Crypto Library provides web developers with an extensive and efficient set of cryptographic functions. The library aims to obtain maximum execution speed while preserving modularity and reusability.

ALL the code included in this project, if not otherwise stated, is released with the BSD 3-Clause License (see LICENSE.txt), and all rights are reserved to Clipperz Srl.

For any use not allowed by the license, please contact us.

Features

The Javascript Crypto Library currently includes:

  • AES-256, symmetric encryption;
  • Fortuna, a strong pseudo-random number generator;
  • SRP, a verifier-based authentication protocol;
  • SHA-2, hash function.

Clipperz online password manager makes heavy use of the above cryptographic functions.

Browser cryptography is an critical component for building zero-knowledge web applications, but you can also use it to improve the security of specific portion of your code. As an example, you could consider replacing your present user authentication process with SRP.

Acknowledgments

Javascript implementations of cryptographic algorithms have been around for years. Some of the pioneers in this field were: John Walker, Chris Veness, Paul Andrew Johnston and Leemon Baird. They all realized that Javascript could turn the browser into a new and ubiquitous “number crunching” tool that comes pre-installed on every modern computer. Even if they mostly wrote code for educational purposes, their work was an important inspiration to us.

Future developments

Basically we need to make the library more flexible and more powerful. Most functions need parameters for selecting the key length, the encoding options, …

Public-key cryptography is an area that definitely needs to be covered. The code already includes a first attempt to use elliptic curve cryptography (ECC), but it is still very slow and incomplete. We would love to improve it and develop all the components of a robust public-key cryptographic system based on elliptic curves. It’s an ambitious and complex plan. Any volunteer to help?

Contributions

Your contributions to the Javascript Crypto Library are very welcome! In order to avoid jeopardizing the ownership of the code base, we will require every developer to sign the Clipperz Contributor Agreement

This enables a single entity to represent the aggregated code base and gives the community flexibility to act as a whole to changing situations.

The CA establishes a joint copyright assignment in which the contributor retains copyright ownership while also granting those rights to Clipperz Srl. With the CA in place, the aggregated code base within any Clipperz open source project is protected by both the distribution license and copyright law.

Please download and review the Contributor Agreement for a complete understanding of its terms and conditions. You may send your signed and completed CA to Clipperz by scanning your completed form and emailing the image or by fax. Please retain a copy for your records. Thanks!

javascript-crypto-library's People

Contributors

gcsolaroli avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.