957 Commits

Author SHA1 Message Date
Hendrik Eeckhaut
2d205f66fe Add ci build for WASM target for specific packages (#394)
Build tlsn-core, tlsn-prover and tls-client for wasm
2023-12-18 15:30:16 +01:00
Hendrik Eeckhaut
69a4f56968 Use ring 0.17 in prf tests too (#395)
#391
2023-12-18 10:56:44 +01:00
Christopher Chong
3d40995347 Optimise test to use release profile to speed up notary server integration test (#393)
* Optimise test.

* Restrict release profile to notary server tests.
2023-12-13 15:19:14 +08:00
Kevin Mai-Husan Chia
5fcae878c3 Use ring v0.17 (#391)
* feat: use ring v0.17

* fix: broken tests due to API changes

* change type of `f` in `KeyExchange.complete`

* fix: code in comment failed to build

* refactor: `to_vec` to `as_ref` to avoid copy
2023-12-12 09:15:01 -08:00
Christopher Chong
52d6bb20db Add git commit hash and timestamp to info endpoint (#392)
* Add commit hash and timestamp

* Fixed Docker build problem

#392

* Fix error message and docker build.

* Update README and openapi yaml.

* Formatting.

---------

Co-authored-by: Hendrik Eeckhaut <hendrik@eeckhaut.org>
2023-12-12 11:55:40 +08:00
Christopher Chong
31708c0805 Make tls optional between prover and notary. (#387)
* Make tls optional between prover and notary.

* Parameterize test, flatten code.
2023-12-11 11:29:50 +08:00
sinu.eth
61528833cd fix: unused doc comment (#386) 2023-11-18 14:07:37 +03:00
sinu.eth
786195b1a4 feat: stream cipher zk (#384)
* feat: stream cipher zk

* bump mpz version to ecb8c54
2023-11-18 11:50:54 +03:00
Kevin Mai-Husan Chia
6270dd8b0e Make CORS permissive (#385)
* fix: make cors permissive

* style: format
2023-11-15 20:20:47 +08:00
Christopher Chong
022b2bd916 Add auth middleware, info endpoint to notary server (#368)
* Init auth middleware.

* Add auth module and info endpoint.

* Modify comment.

* Make failure to load auth list fallible.

* Uses hashmap for whitelist, remove expired session, and other fixes.

* Turn off auth.

* Fix argument type.
2023-11-14 21:48:20 +08:00
Kevin Mai-Husan Chia
2fa4f50b50 Replace std::time::SystemTime::now to support wasm32 (#383)
* feat: use web-time to support wasm32

* remove unused import
2023-11-13 16:31:19 +03:00
th4s
4be88ea7a7 Adapted readme for docker image (#382)
* Adapted readme for docker image

* Fix command

* Change the other urls for docker image.

---------

Co-authored-by: Christopher Chong <t.kleinchong@gmail.com>
2023-11-08 15:46:31 +08:00
sinu.eth
cd0289f78b perf: pre-garble key exchange and PRF (#371)
* prf pre-garble

* fix

* update mpz version to 7669232

* fix ValueId dependency

* PR feedback

* bump mpz to 1ac6779
2023-10-26 12:23:59 -07:00
Hendrik Eeckhaut
f031a5b34e Enable clippy for examples in ci build (#373)
Enable clippy for examples in ci build

#372
2023-10-25 00:06:57 +02:00
Hendrik Eeckhaut
bfcb308c40 Also redact some received data in simple_prover (#370)
Also redact some received data in simple_prover
2023-10-23 09:14:15 +02:00
sinu.eth
ce80e75461 refactor: tlsn-verifier (#360)
* rename tlsn-notary crate to tlsn-verifier

* move to tls module, encapsulate notary functionality

* remove unused future

* Add comment to `notarize` function

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

* update notary-server

* remove redundant fuse, fix comment

* fix rustdocs action

* fix tlsn-prover fut

---------

Co-authored-by: th4s <th4s@metavoid.xyz>
2023-10-18 11:54:36 -07:00
sinu.eth
b515c49a7a feat: selective disclosure tooling (#335)
* tlsn-formats minimal

* initial work on verifiers

* decouple proof builder from SessionData

* add commit remaining fn

* unit tests passing for commit and prove

* remove wip verify modules

* remove unused

* serde derives, fix test

* move tls prover into module and implement http prover

* docs

* rebase fixes

* remove dead code

* update integration test

* remove unwrap

* handle invalid json path commitment

* fix body proof build, and add commit all methods

* fix http comments

* add extra check to range

* rename GarbleRole to DEAPRole

* add gf2 comment

* comment unused body_built field

* fix notary-server integration test
2023-10-18 11:14:32 -07:00
Christopher Chong
8783a62ea1 Modify notary url parsing to make it generic for both ip and domain (#366)
* Modify url parsing and readme.

* Modify README.
2023-10-17 16:34:45 +08:00
Christopher Chong
3e0dcc77d5 Tidy up examples folder. (#362)
* Tidy up examples folder.

* Remove clone.
2023-10-16 16:02:40 +08:00
0xvon
1a9fc7ea6f fix: PRF bench (#363) 2023-10-14 15:13:22 -07:00
Christopher Chong
4408dfa316 Migrate notary-server repo (#358)
* Migrate notary-server repo in, merge in github actions, update dockerfile and readme.

* Correct formatting.

* Move clippy back to original order.

* Fix clippy warning.

* The notary server was moved to this repo

#358

* Modify comments.

* Add session id query param PR changes.

* Fix cd issue and client bug.

---------

Co-authored-by: Hendrik Eeckhaut <hendrik@eeckhaut.org>
2023-10-13 15:08:00 +08:00
sinu.eth
b603460116 chore: restore cert tests (#361) 2023-10-11 23:06:12 -07:00
sinu.eth
1c7273143e tlsn-core fixtures (#359)
* move fixtures back into tlsn-core crate

* add --all-features tests

* limit --all-features tests to tlsn workspace

* satisfy clippy

* fix eph key fixture

* Update tlsn/tlsn-core/src/fixtures/cert.rs

Co-authored-by: dan <themighty1@users.noreply.github.com>

* remove webpki tests, and factor out cert verifier

* fix unused import

---------

Co-authored-by: dan <themighty1@users.noreply.github.com>
2023-10-10 13:13:40 -07:00
sinu.eth
b6a8cf1af5 axum server fixture (#356)
* tlsn-server-fixture

* Update tlsn/tlsn-server-fixture/src/data/.gitignore

* Update tlsn/tlsn-server-fixture/src/tls/domain.ext

* Update tlsn/tlsn-server-fixture/src/data/4kb.html
2023-10-04 20:29:53 -07:00
Christopher Chong
a8f9a56bd7 Yamux send tls closenotify (#355)
* Add shutdown control.

* Merge in dev.

* Send CloseNotify from prover.

* Add missing files.

* Change caller of close and formatting.

* Correct formatting.

* Change triggering logic.

* Modify comment.

* Bump mpz version.

* Add missing import,.
2023-10-03 09:58:17 +08:00
Hendrik Eeckhaut
694770c24d Check that benches compile in GitHub workflow (#350)
#349
2023-09-24 20:55:47 -04:00
Hendrik Eeckhaut
f73376ec93 Show badges on top of README page on GitHub (#346)
+ added links to rustdoc

#344
2023-09-22 13:08:33 -04:00
sinu.eth
8124237cd4 release v0.1.0-alpha.2 (#347)
* release v0.1.0-alpha.2

* remove examples from workspace

* fix examples dep

* readd examples
v0.1.0-alpha.2
2023-09-22 11:28:03 -04:00
sinu.eth
fb937e8374 Discord example (#345)
* discord example

* update readme

* newline
2023-09-22 11:00:49 -04:00
sinu.eth
8b8ea3d7c0 refactor: simplify verifier flow (#341)
* refactor: simplify verifier flow

* fix comment
2023-09-22 08:46:10 -04:00
sinu.eth
e479eac612 fix: sort merkle indices (#343) 2023-09-21 18:32:47 -07:00
dan
8b163540f2 feat: add add_pem() to RootCertStore (#338) 2023-09-21 05:38:17 +00:00
Hendrik Eeckhaut
407fcb979b Publish rustdoc to gh-pages branch (#337)
Signed-off-by: Hendrik Eeckhaut <hendrik@eeckhaut.org>
2023-09-20 09:52:35 +02:00
sinu.eth
a6d5fcb26f update manifests for v0.1.0-alpha.1 (#340) v0.1.0-alpha.1 2023-09-19 10:25:50 -07:00
sinu.eth
ea30771949 fix: off-by-1 error in proof verify (#339) 2023-09-19 07:17:36 -07:00
dan
e768f5255b fix: remove close_notify guard (#336) 2023-09-19 10:20:18 +00:00
sinu.eth
2f0666feee refactor: tlsn-core (#333)
* refactor: use RangeSet

* bump tlsn-utils commit

* add RedactedTranscript

* fix return type in TranscriptSlice::data

* simplify openings

* mark Commitment non_exhaustive

* add commitment id, session data builder

* move fixtures into tlsn-fixtures

* encapsulate more into tlsn-core

* fix tlsn-core api test

* clean up unused imports

* update tlsn-prover

* wip

* restructuring exports, and documentation

* more work on docs

* improve substrings errors

* implement opaque debug for substringsproof

* clean up substringsproof verify

* readd merkle test

* bump tlsn-utils version

* fix dependents

* add getter for substrings commitments

* fix RedactedTranscript constructor

* introduce bimap and info types

* clean up error types

* add panic if duplicate ids

* remove tracing dep

* move SubstringsOpeningError

* check range bound

* remove transcript error

* fix panic

* flatten commitment types

* fix import in example

* delete old substrings module

* transcript commitment builder

* hide constructor for builder

* remove dead code

* Apply suggestions from code review

Co-authored-by: dan <themighty1@users.noreply.github.com>

* Update tlsn/tlsn-core/src/proof.rs

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

* Update tlsn/tlsn-core/src/commitment/builder.rs

Co-authored-by: dan <themighty1@users.noreply.github.com>

* Update tlsn/tlsn-core/src/merkle.rs

Co-authored-by: dan <themighty1@users.noreply.github.com>

* fix transcript name

* update fn name

* into -> to

* ensure transcript slices are sorted and disjoint

---------

Co-authored-by: dan <themighty1@users.noreply.github.com>
Co-authored-by: th4s <th4s@metavoid.xyz>
2023-09-18 09:04:51 -07:00
sinu.eth
7826e6ac53 perf: bump mpz to 76ed767 (#331) 2023-09-14 08:06:59 -07:00
dan
b321da420b chore: misc comments (#329) 2023-09-13 05:52:04 +00:00
sinu.eth
be9da5bc40 refactor: decouple notarization (#327)
* refactor: decouple notarization in prover

* impl From for state transition
2023-09-11 09:42:18 -07:00
sinu.eth
329858b0fd feat: PRF setup prior to handshake (#326)
* feat: PRF setup method

* feat: MPC-TLS pre-connection setup methods

* fix: tlsn-prover call setup on mpc backend

* fix: setup prfs in integration test

* fix: cargo fmt in test
2023-09-11 09:30:42 -07:00
sinu.eth
57a8834f73 refactor: Support setting up MPC prior to opening connection to Server (#325)
* refactor: separate prover setup from server connection

* refactor: update test and examples

* refactor: make MuxFuture private, and rename ConnectionFuture to ProverFuture
2023-09-11 09:10:46 -07:00
sinu.eth
5f704fd4e1 refactor: use Bytes in Transcript (#322) 2023-09-07 08:54:58 -07:00
sinu.eth
3616e95a9a refactor: factor out generic from prover and notary (#320) 2023-09-07 08:49:08 -07:00
sinu.eth
76842128ea feat: max transcript size handling (#319)
* max transcript size handling

* adjust default

* consolidate handlers

* clippy

* Update comment

Co-authored-by: dan <themighty1@users.noreply.github.com>

* add comment on close_notify

---------

Co-authored-by: dan <themighty1@users.noreply.github.com>
2023-09-06 08:46:23 -07:00
sinu.eth
832d1baec1 MPZ bump (#310)
* bump mpz commit

* fix prf

* fix point addition

* fix ghash

* tests passing

* update tlsn

* bump mpz version

* delete actors

* fix tls-mpc test

* reduce ot setup count in test

* bump mpz version

* remove unnecessary associated type

* rustfmt

* pin tlsn-utils
2023-09-04 22:57:09 -07:00
sinu.eth
831da236ad fix: enable tlsn-prover logs in examples, and reduce log noise (#315) 2023-09-01 09:20:52 -07:00
sinu.eth
097337c3c9 fix: bump GHASH default max block length to 1026 (#313) 2023-08-31 11:14:28 -07:00
sinu.eth
2b6cf70acc ci: disable fail fast (#314) 2023-08-30 11:29:51 -07:00
Dan
526d0bd484 Examples: Add quick_start.md (#307)
Fix URI

Co-authored-by: themighty1 <dan.tlsnotary@outlook.com>
2023-08-23 10:12:48 -07:00