libquartz

Secure communication protocols

2 unstable releases

0.2.0 Sep 29, 2022
0.1.0 Jun 9, 2022

24 downloads per month
Used in 2 crates

BSD-2-Clause

135KB
196 lines

libquartz LOGO

Quartz protocols and backend that are using qkeys (quartz keys)

Adding to your rust project

  • import by cloning the repo into your project
  • add libquartz = {path = "<yourpath>"} to Cargo.toml
  • add use libquartz::* to your rust project's file

Adding to other languages

  • As of now we don't support ffi bindings for other languages. But if you want to help us you can always open a merge request.

Shortly about keys (qkeys)

  • We recommend generating keys using the keytools::gen_key(); function
  • Keys MUST be validated using keytools::check_if_the_key_is_valid(); function

What does each module stand for

  • keytools is used to generate/validate/get the default qkey(s)
  • msgservices is used to communicate between quartz-server and your project by getting/sending messages
  • encryption is used to encrypt/decrypt data using magic_crypt and your qkey generated by keytools::gen_key();

Dependencies

~7–20MB
~295K SLoC