Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
[dead]
on Aug 14, 2024 | hide | past | favorite


Moin,

i want to present you an encryption library I wrote for the past year. The core is written in rust and it is cross compiled to wasm or to flutter targets (thanks to flutter_rust_bridge).

Repo: https://github.com/sentclose/sentc/

Homepage for deep dive (docs are currently for wasm and flutter): https://sentc.com/

It covers

- Group encryption up to a very large amount of members incl. key rotation inside groups (creating a new key and distribute it securely to all group member).

- User and device management. A user can have multiple devices with different logins (this can be useful to allow users login with their phone without a password)

- Encrypted file up and download. Files will be split into 4 mb chunks and each chunk will be encrypted by a new key. This key will then be encrypted by the previous key.

- Support for search- and sort-able encryption. With searchable encryption, you can still search over encrypted data in your database. With sort-able encryption, the output can be sorted in the same order as the input

The library can be used with different crypto implementations thanks to rusts generics. Right now there are three different implementations available:

- completely in rust, no other dependencies are needed. This will be used with wasm and flutter

- fips complaint with openssl (no sort-able encryption because this algorithm is not fips compliant)

- a combination of openssl and oqs (using an updated version).

You can activate each keys in the library by adding feature std_keys for the rust impl, fips_keys for the fips complaint impl, rec_keys for the combination.

- The full rust impl and the combination are using: aes 256 gcm for symmetric encryption

- x25519, kyber (for full rust) / ml-kem (for oqs) or a hybrid combination of both (default) for asymmetric encryption

- ed25519, dilithium (for full rust) / ml_dsa (for oqs) or a hybrid combination of both (default) for sign and verify

- ope for sortable encryption and hmac for searchable encryption

There are currently higher level implementations for javascript and flutter but a rust sdk will be released soon.

Please let me know what you think. Wish you a great day.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: