sinu.eth cb13169b82 perf: MPC-TLS upgrade (#698)
* fix: add new Cargo.toml

* (alpha.8) - Refactor key-exchange crate (#685)

* refactor(key-exchange): adapt key-exchange to new vm

* fix: fix feature flags

* simplify

* delete old msg module

* clean up error

---------

Co-authored-by: sinu <65924192+sinui0@users.noreply.github.com>

* (alpha.8) - Refactor prf crate (#684)

* refactor(prf): adapt prf to new mpz vm

Co-authored-by: sinu <65924192+sinui0@users.noreply.github.com>

* refactor: remove preprocessing bench

* fix: fix feature flags

* clean up attributes

---------

Co-authored-by: sinu <65924192+sinui0@users.noreply.github.com>

* refactor: key exchange interface (#688)

* refactor: prf interface (#689)

* (alpha.8) - Create cipher crate (#683)

* feat(cipher): add cipher crate, replacing stream/block cipher and aead

* delete old config module

* remove mpz generics

---------

Co-authored-by: sinu <65924192+sinui0@users.noreply.github.com>

* refactor(core): decouple encoder from mpz (#692)

* WIP: Adding new encoding logic...

* feat: add new encoder

* add feedback

* rename conversions

* feat: DEAP VM (#690)

* feat: DEAP VM

* use rangeset, add desync guard

* move MPC execution up in finalization

* refactor: MPC-TLS (#693)

* refactor: MPC-TLS

Co-authored-by: th4s <th4s@metavoid.xyz>

* output key references

* bump deps

---------

Co-authored-by: th4s <th4s@metavoid.xyz>

* refactor: prover + verifier (#696)

* refactor: wasm crates (#697)

* chore: appease clippy (#699)

* chore: rustfmt

* chore: appease clippy more

* chore: more rustfmt!

* chore: clippy is stubborn

* chore: rustfmt sorting change is annoying!

* fix: remove wasm bundling hack

* fix: aes ctr test

* chore: clippy

* fix: flush client when sending close notify

* fix: failing tests

---------

Co-authored-by: th4s <th4s@metavoid.xyz>
2025-02-25 13:51:28 -08:00
2025-02-20 11:58:13 +01:00
2024-12-05 08:59:19 +01:00
2025-02-25 13:51:28 -08:00
2024-10-14 13:52:52 +00:00
2025-02-25 13:51:28 -08:00
2022-12-13 20:23:54 -08:00

MIT licensed Apache licensed Build Status

Website | Documentation | API Docs | Discord

TLSNotary

Data provenance and privacy with secure multi-party computation

⚠️ Notice

This project is currently under active development and should not be used in production. Expect bugs and regular major breaking changes.

License

All crates in this repository are licensed under either of

at your option.

Branches

  • main
    • Default branch — points to the latest release.
    • This is stable and suitable for most users.
  • dev
    • Development branch — contains the latest PRs.
    • Developers should submit their PRs against this branch.

Directory

This repository contains the source code for the Rust implementation of the TLSNotary protocol. For additional tools and implementations related to TLSNotary, visit https://github.com/tlsnotary. This includes repositories such as tlsn-js, tlsn-extension, explorer, among others.

Development

Important

Note on Rust-to-WASM Compilation: This project requires compiling Rust into WASM, which needs clang version 16.0.0 or newer. MacOS users, be aware that Xcode's default clang might be older. If you encounter the error No available targets are compatible with triple "wasm32-unknown-unknown", it's likely due to an outdated clang. Updating clang to a newer version should resolve this issue.

For MacOS aarch64 users, if Apple's default clang isn't working, try installing llvm via Homebrew (brew install llvm). You can then prioritize the Homebrew clang over the default macOS version by modifying your PATH. Add the following line to your shell configuration file (e.g., .bashrc, .zshrc):

export PATH="/opt/homebrew/opt/llvm/bin:$PATH"

If you run into this error:

Could not find directory of OpenSSL installation, and this `-sys` crate cannot
  proceed without this knowledge. If OpenSSL is installed and this crate had
  trouble finding it,  you can set the `OPENSSL_DIR` environment variable for the
  compilation process.

Make sure you have the development packages of OpenSSL installed (libssl-dev on Ubuntu or openssl-devel on Fedora).

Contribution

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

See CONTRIBUTING.md.

Description
No description provided
Readme 105 MiB
Languages
Rust 98.4%
JavaScript 0.7%
Shell 0.5%
HTML 0.2%
Noir 0.1%