summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Reimplement Equi-X in RustMicah Elizabeth Scott2023-07-2714-0/+1727
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a new pure Rust implementation of the Equi-X algorithm designed by tevador for Tor's onion service proof of work puzzle v1. Equi-X is an asymmetric puzzle algorithm based on Equihash, with N=60, K=3, the XOR replaced with modular addition, a 16-bit index space, and HashX as the inner hash function. Signed-off-by: Micah Elizabeth Scott <[email protected]>
| * | Reimplement HashX in RustMicah Elizabeth Scott2023-07-2720-26/+4015
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a new pure Rust implementation of the HashX algorithm designed by tevador for Tor's onion service proof of work puzzle v1. HashX is a lightweight family of randomly generated hash functions. A seed, via blake2 and siphash, drives a program generation model which randomly selects opcodes and registers while following some constraints that avoid timing stalls or insufficient hash mixing. The execution of these hash funcions can be done using a pure Rust interpreter, or about 20x faster using a very simple just in time compiler based on the dynasm assembler crate. This has been implemented for x86_64 and aarch64. Signed-off-by: Micah Elizabeth Scott <[email protected]>
* | Merge branch 'circuit-reactor-first-hop' into 'main'Nick Mathewson2023-07-271-59/+116
|\ \ | | | | | | | | | | | | tor-proto: Extract Create message handling from Reactor::run_once() See merge request tpo/core/arti!1441
| * | tor-proto: Rename create_firsthop() to wait_for_create().Gabriela Moldovan2023-07-271-2/+2
| | |
| * | tor-proto: Update handle_control docs.Gabriela Moldovan2023-07-261-1/+1
| | |
| * | tor-proto: Add functions for handling Shutdown and AddFakeHop messages.Gabriela Moldovan2023-07-261-42/+37
| | | | | | | | | | | | | | | This helps reduce code duplication, as `CtrlMsg::Shutdown` and `CtrlMsg::AddFakeHop` are now handled in multiple places.
| * | tor-proto: Extract first-hop creation to a separate function.Gabriela Moldovan2023-07-261-37/+11
| | | | | | | | | | | | | | | | | | I think it's safe to handle `ChanMsg::Create` separately, because there's nothing for the reactor to do until the first hop of the circuit is created (so blocking on this _should_ be alright).
| * | tor-proto: Create a function for handling the initial CREATE cell.Gabriela Moldovan2023-07-261-1/+89
| | | | | | | | | | | | | | | | | | This logic from `create_firsthop()` was extracted (copied) from `Reactor::run_once()`. A future commit will update `Reactor::run_once()` to use `create_firsthop()`.
* | | Merge branch 'keymgr-api-updates-gen-key' into 'main'gabi-2502023-07-278-32/+210
|\ \ \ | |_|/ |/| | | | | | | | keymgr: Add KeyMgr::generate() for generating new keys. See merge request tpo/core/arti!1433
| * | keymgr: Add TODO regarding generate() being racy.Gabriela Moldovan2023-07-271-0/+3
| | |
| * | keymgr: Document the TOCTOU issue with generate().Gabriela Moldovan2023-07-271-0/+16
| | |
| * | keymgr: Make the return value of generate() indicate if a new key was created.Gabriela Moldovan2023-07-271-3/+5
| | |
| * | keymgr: Make Keystore::generate() return a Result.Gabriela Moldovan2023-07-272-8/+8
| | |
| * | keymgr: Move duplicated match block to KeyMgr::select_keystore().Gabriela Moldovan2023-07-241-22/+14
| | |
| * | keymgr: Add KeyMgr::generate() for generating new keys.Gabriela Moldovan2023-07-244-1/+72
| | |
| * | keymgr: Add function for generating EncodableKeys.Gabriela Moldovan2023-07-246-1/+39
| | |
| * | keymgr: Test whether insert() creates the missing directories.Gabriela Moldovan2023-07-241-9/+21
| | |
| * | keymgr: Return an unimplemented error instead of panicking.Gabriela Moldovan2023-07-241-2/+2
| | | | | | | | | | | | | | | | | | This will enable us to test the parts of `ArtiNativeKeystore::insert` that _are_ implemented (such as the part where it creates the missing directories).
| * | keymgr: Create the parent directories as neededGabriela Moldovan2023-07-241-1/+12
| | |
| * | keymgr: Add a Keystore::contains accessor.Gabriela Moldovan2023-07-244-1/+34
| | |
* | | Merge branch 'ipts' into 'main'Ian Jackson2023-07-261-6/+47
|\ \ \ | |_|/ |/| | | | | | | | dev notes: Draft IPT algorithm: note re intro pt verification (followup) See merge request tpo/core/arti!1438
| * | dev notes: Draft IPT algorithm: Added TODO re previous descriptor semanticsIan Jackson2023-07-261-0/+5
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1429#note_2924491
| * | dev notes: Draft IPT algorithm: Added TODO/xref re tuningIan Jackson2023-07-261-0/+4
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1429#note_2924530
| * | dev notes: Draft IPT algorithm: Possible fixed descriptor lifetimesIan Jackson2023-07-261-0/+2
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1429#note_2924501
| * | dev notes: Draft IPT algorithm: Add a publication rate limitIan Jackson2023-07-261-1/+2
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1429#note_2924499
| * | dev notes: Draft IPT algorithm: Add a TODO re selecting from >N IPTsIan Jackson2023-07-261-0/+2
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1429#note_2924498
| * | dev notes: Draft IPT algorithm: Added 2N IPT limit to tuning paramsIan Jackson2023-07-261-0/+2
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1429#note_2924496
| * | dev notes: Draft IPT algorithm: Delay IPT replacementIan Jackson2023-07-261-1/+3
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1429#note_2924497
| * | dev notes: Draft IPT algorithm: Early descriptor publish timingIan Jackson2023-07-261-3/+13
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1429#note_2924494
| * | dev notes: Draft IPT algorithm: Retire IPTs - note re Onion BalanceIan Jackson2023-07-261-0/+1
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1429#note_2924487
| * | dev notes: Draft IPT algorithm: Retire IPTs - timing questionIan Jackson2023-07-261-0/+1
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1429#note_2924485
| * | dev notes: Draft IPT algorithm: Retire IPTs after N introductionsIan Jackson2023-07-261-0/+3
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1429#note_2924485
| * | dev notes: Draft IPT algorithm: note re unpublished IPTIan Jackson2023-07-261-0/+5
| | | | | | | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1429#note_2924483
| * | dev notes: Draft IPT algorithm: note re intro pt verificationIan Jackson2023-07-261-1/+4
|/ / | | | | | | | | | | Discussions here: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1429#note_2924481 https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1429#note_2924495
* | Merge branch 'typos' into 'main'Ian Jackson2023-07-262-4/+4
|\ \ | | | | | | | | | | | | Fix typos See merge request tpo/core/arti!1436
| * | Fix typosDimitris Apostolou2023-07-252-4/+4
| | |
* | | Merge branch 'sw1tch/fix_reconfigure_deadlock' into 'main'Ian Jackson2023-07-261-2/+42
|\ \ \ | |/ / |/| | | | | | | | fixes deadlock in TorClient::reconfigure See merge request tpo/core/arti!1432
| * | pass reconfigure_lock guard into TorClient::reconfigure_innersw1tch2023-07-251-3/+8
| | |
| * | cargo fmtsw1tch2023-07-241-1/+3
| | |
| * | fixes deadlock in TorClient::reconfiguresw1tch2023-07-241-1/+34
| |/
* | Merge branch 'ipts' into 'main'Nick Mathewson2023-07-251-0/+266
|\ \ | | | | | | | | | | | | dev notes: Draft IPT algorithm See merge request tpo/core/arti!1429
| * | dev notes: Draft IPT algorithmIan Jackson2023-07-211-0/+266
| | |
* | | Merge branch 'onion-service-notes-v1' into 'main'Nick Mathewson2023-07-251-0/+276
|\ \ \ | | | | | | | | | | | | | | | | Initial notes about onion service structs and APIs See merge request tpo/core/arti!1422
| * | | Change keyid to nicknameNick Mathewson2023-07-241-7/+4
| | | |
| * | | Mention anti-DOS options.Nick Mathewson2023-07-241-1/+11
| | | |
| * | | Mention ob_config. Not sure we will want to build it like this.Nick Mathewson2023-07-241-0/+6
| | | |
| * | | Initial notes about onion service structs and APIsNick Mathewson2023-07-191-0/+263
| | | |
* | | | Merge branch 'keymgr-keygen-key-list' into 'main'gabi-2502023-07-251-0/+81
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | keymgr-doc: Document the list of keys the keymgr needs to generate. See merge request tpo/core/arti!1413
| * | | | keymgr-doc: Add columns with additional details about the keys.Gabriela Moldovan2023-07-201-19/+28
| | | | |
| * | | | keymgr-doc: Rename ambiguous `--onion` flag to `--service`.Gabriela Moldovan2023-07-201-1/+1
| | | | |