summaryrefslogtreecommitdiff
path: root/tor-llcrypto/src/pk
Commit message (Collapse)AuthorAgeFilesLines
* Fix some warnings about needless & from nightly clippyNick Mathewson2021-06-182-2/+2
|
* tor-llcrypto: Improve documentation and move keyblinding.Nick Mathewson2021-05-213-128/+192
|
* Add unseparated_literal_suffix lint, and fix it.Nick Mathewson2021-05-031-1/+1
|
* Enforce (and obey) clippy lints about exhaustive enums, structs.Nick Mathewson2021-04-271-0/+1
| | | | | | | | These lints force us to declare our exported enums and exhaustive-looking structs as non-exhaustive (so that we can add to them in the future without breaking our API) or to explicitly disable the warning for a given enum/struct (to say that we _intend_ for additions to be a breaking change).
* Resolve two clippy warnings in blind_pubkey.Nick Mathewson2021-03-291-2/+2
|
* Merge remote-tracking branch 'origin/mr/23'Nick Mathewson2021-03-291-0/+107
|\
| * v3: Add two new test vectors that test key blinding clamping.George Kadianakis2021-03-301-0/+6
| |
| * v3: Improve error handling on key blinding.George Kadianakis2021-03-301-5/+22
| |
| * Implement basic ed25519 key blinding for v3 onion services.George Kadianakis2021-03-291-0/+84
| |
* | Fix Rust-1.51 clippy warnings about acronyms in camel case.Nick Mathewson2021-03-291-2/+2
| | | | | | | | This is painful, but we shouldn't have to do it again.
* | Rename Rsa{Identity,Signature} to fix clippy warning.Nick Mathewson2021-03-291-37/+37
|/
* Add a compatibility layer so we can upgrade rand_core.Nick Mathewson2021-03-181-1/+2
| | | | | | dalek-crypto is stuck on rand_core 0.5.1, so we've been stuck too. This commit introduces a compatibility module so that we can wrap new rand_core instances to make them backward compatible.
* Change an unwrap() in llcrypto to an expect().Nick Mathewson2021-03-161-1/+1
|
* Avoid unwrap() in llcrypto.Nick Mathewson2021-03-041-1/+1
|
* run cargo fix --edition-idiomsNick Mathewson2021-02-252-4/+4
|
* Add serde implementations for identity key types.Nick Mathewson2021-02-102-0/+117
|
* Make RSAIdentity implement Copy.Nick Mathewson2020-12-081-2/+1
|
* De-parameterize ChanMgr and everything that wraps it.Nick Mathewson2020-12-081-0/+1
| | | | | | | | | | | | | | This makes a whole lot of our code simpler, and makes it so that CircMgr and DirMgr no longer need to have anything parameterized over transports, either. Instead of boxing Transport inside of ChanMgr, I've made a new Connection trait that goes from a ChanTarget* straight to a Channel. This lets us avoid having to box the intermediate TLS object. [*] Actually, a copy of the information from a ChanTarget. Ick, but I had to make a copy to avoid parameterizing Connecter::build_channel.
* Run cargo fix --edition-idiomsNick Mathewson2020-12-021-2/+2
|
* Tests for tor-chanmgr.Nick Mathewson2020-10-301-0/+1
|
* Implement a channel-manager type to get or launch channels on request.Nick Mathewson2020-10-301-1/+1
|
* Use from_bytes name for Ed25519IdentityNick Mathewson2020-10-251-2/+2
|
* Test for finish-handshake functionNick Mathewson2020-10-231-0/+6
|
* More tests for ed25519identityNick Mathewson2020-10-211-2/+9
|
* Implement From, not Into.Nick Mathewson2020-10-191-4/+4
| | | | | These traits are inverses of one another, but implementing From is always preferred since rust 1.41 relaxed the "orphan rules".
* Validate master-key-ed25519 field in routerdescsNick Mathewson2020-10-191-0/+6
|
* Improvements to Relay type in tor-netdir.Nick Mathewson2020-10-191-0/+8
| | | | | | | | | | | Now, a Relay is always valid. This required some changes to the API: all_relays() has to return a new UncheckedRelay type that might or might not be valid, and the functions on Relay and ChanTarget that return ed25519 identities need to return an Ed25519Identity, not an ed25519::PublicKey. This change required some new encoding/decoding/conversion functions on Ed25519Identity.
* Clarify kludgey magic in our to_der() function.Nick Mathewson2020-10-181-1/+6
|
* Use Ed25519Identity in microdescriptors.Nick Mathewson2020-10-151-3/+12
|
* Add an (unchecked) Ed25519Identity typeNick Mathewson2020-10-151-0/+76
| | | | | This type differs from ed25519::PublicKey in that it is _not_ checked or expanded.
* llcrypto: Move ed25519 module into its own file.Nick Mathewson2020-10-151-0/+73
|
* tests for some failing cases in mdconsensusNick Mathewson2020-10-061-1/+1
|
* Make rsa::PublicKey derive Debug.Nick Mathewson2020-10-021-1/+1
|
* Document private members in most cratesNick Mathewson2020-09-241-0/+6
|
* Now that the rsa crate has pkcs1 decoding, use it.Nick Mathewson2020-09-131-40/+7
| | | | | | Also, instead of implementing an otherwise-derivable Hash for rsa public keys, tell clippy not to worry that we're defining partialeq but not hash.
* stop exposing rsa::errors::Result.Nick Mathewson2020-09-131-7/+4
|
* Add test vectors for curve25519->ed25519 parts of llcryptoNick Mathewson2020-09-131-1/+2
| | | | | | Also add a terminating NUL byte to a derivation string, to ensure that our results match Tor's results. (This does not actually serve a purpose FWICT.)
* llcrypto: Fix a bug in ed25519->curve25519 secret key conversionNick Mathewson2020-09-131-4/+30
| | | | | | | We were taking the sign bit from the _secret_ key, which is totally incorrect. Instead it needs to be taken from the _public_ key. Additionally, add a unit test for ed25519->curve25519 code.
* llcrypto: tests for rsa kludgeNick Mathewson2020-09-131-0/+5
|
* Fix bogus docs in ll::pk::rsaNick Mathewson2020-09-091-2/+2
|
* Fix clippy warnings; improve key type for consensus.Nick Mathewson2020-09-071-2/+1
|
* RSAIdentity: Better Display and Debug.Nick Mathewson2020-09-071-1/+14
|
* llcrypto: Define a "ValidatableSignature" typeNick Mathewson2020-09-031-0/+27
| | | | | This type wraps a signature, a public key, and the signed object. It's meant to be useful for implementing SelfSigned objects.
* Implement an ersatz hash() for RSAIdentityNick Mathewson2020-08-281-1/+7
| | | | | For whatever reason, something I had didn't like me implementing a custom PartialEq but deriving Hash
* llcrypto: make RSAIdentity implement the Hash trait.Nick Mathewson2020-08-271-1/+1
|
* Upgrade to latest version of rsa crateNick Mathewson2020-06-121-13/+13
|
* update to use latest rust-crypto traits and modulesNick Mathewson2020-06-101-1/+1
|
* make id field in RSAIdentity privateNick Mathewson2020-05-081-2/+4
|
* most missing docs for llcryptoNick Mathewson2020-05-082-11/+51
|
* Stop re-exporting traits from tor-llcrypto. It does not help.Nick Mathewson2020-05-082-2/+2
|