Skip to content

CBenoit/devolutions-crypto

 
 

Repository files navigation

Build Status npm version

DevolutionsCrypto

This repo contains the library used for cryptography of products used by Devolutions. It also includes wrappers for it in different languages.
Currently, the supported languages are: Rust, C# and Javascript/Typescript.

Python bindings are also available as a beta, but it is not production ready yet. You can install it with pip3 install devolutions-crypto, but this might not work depending on the platform. If it doesn't, you can try building it manually.

Note that the Javascript version of the library is compiled using WebAssembly, so it can run in a browser.

Underlying algorithms

As of the current version:

  • Symmetric cryptography uses XChaCha20Poly1305
  • Asymmetric cryptography uses Curve25519.
  • Asymmetric encryption uses ECIES.
  • Key exchange uses x25519, or ECDH over Curve25519
  • Password Hashing uses PBKDF2-HMAC-SHA2-256
  • Secret Sharing uses Shamir Secret sharing over GF256

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in devolutions-crypto by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Devolutions Cryptographic Library

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages

  • C# 36.9%
  • Rust 36.2%
  • TypeScript 11.2%
  • Python 10.3%
  • HTML 4.2%
  • Shell 0.6%
  • Other 0.6%