- Jan 03, 2013
-
-
Nick Mathewson authored
-
Nick Mathewson authored
This now matches upstream at version 59a896970a1ad0a6cd7d0. (Adam took my patches.)
-
Nick Mathewson authored
-
Nick Mathewson authored
This lets us give it compiler flags differing from the rest of libor-crypto.a
-
Nick Mathewson authored
-
Nick Mathewson authored
"works for me"
-
Nick Mathewson authored
-
Nick Mathewson authored
We want to sanity-check our own create cells carefully, and other people's loosely.
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
The unit of work sent to a cpuworker is now a create_cell_t; its response is now a created_cell_t. Several of the things that call or get called by this chain of logic now take create_cell_t or created_cell_t too. Since all cpuworkers are forked or spawned by Tor, they don't need a stable wire protocol, so we can just send structs. This saves us some insanity, and helps p
-
Nick Mathewson authored
As elsewhere, it makes sense when adding or extending a cell type to actually make the code to parse it into a separate tested function. This commit doesn't actually make anything use these new functions; that's for a later commit.
-
Nick Mathewson authored
The handshake_digest field was never meaningfully a digest *of* the handshake, but rather is a digest *from* the handshake that we exapted to prevent replays of ESTABLISH_INTRO cells. The ntor handshake will generate it as more key material rather than taking it from any part of the circuit handshake reply..
-
Nick Mathewson authored
The three handshake types are now accessed from a unified interface; their state is abstracted from the rest of the cpath state, and so on.
-
Nick Mathewson authored
-
- Jan 02, 2013
-
-
Nick Mathewson authored
I'm going to want a generic "onionskin" type and set of wrappers, and for that, it will be helpful to isolate the different circuit creation handshakes. Now the original handshake is in onion_tap.[ch], the CREATE_FAST handshake is in onion_fast.[ch], and onion.[ch] now handles the onion queue. This commit does nothing but move code and adjust header files.
-
Nick Mathewson authored
Here we try to handle curve25519 onion keys from generating them, loading and storing them, publishing them in our descriptors, putting them in microdescriptors, and so on. This commit is untested and probably buggy like whoa
-
Nick Mathewson authored
This patch moves curve25519_keypair_t from src/or/onion_ntor.h to src/common/crypto_curve25519.h, and adds new functions to generate, load, and store keypairs.
-
Nick Mathewson authored
Previously, we only used the strong OS entropy source as part of seeding OpenSSL's RNG. But with curve25519, we'll have occasion to want to generate some keys using extremely-good entopy, as well as the means to do so. So let's! This patch refactors the OS-entropy wrapper into its own crypto_strongest_rand() function, and makes our new curve25519_secret_key_generate function try it as appropriate.
-
Nick Mathewson authored
-
Nick Mathewson authored
The ntor handshake--described in proposal 216 and in a paper by Goldberg, Stebila, and Ustaoglu--gets us much better performance than our current approach.
-
Nick Mathewson authored
We want to use donna-c64 when we have a GCC with support for 64x64->uint128_t multiplying. If not, we want to use libnacl if we can, unless it's giving us the unsafe "ref" implementation. And if that isn't going to work, we'd like to use the portable-and-safe-but-slow 32-bit "donna" implementation. We might need more library searching for the correct libnacl, especially once the next libnacl release is out -- it's likely to have bunches of better curve25519 implementations. I also define a set of curve25519 wrapper functions, though it really shouldn't be necessary. We should eventually make the -donna*.c files get build with -fomit-frame-pointer, since that can make a difference.
-
Nick Mathewson authored
There was one place in curve25519-donna-c64 that was relying on unaligned access and relying on little-endian values. This patch fixes that. I've sent Adam a pull request.
-
Nick Mathewson authored
-
Nick Mathewson authored
This is copied from Adam Langley's curve25519-donna package, as of commit 09427c9cab32075c06c3487aa01628030e1c5ae7.
-
Nick Mathewson authored
I'm going to use this for looking op keys server-side for ntor.
-
- Dec 06, 2012
-
-
Nick Mathewson authored
-
Nick Mathewson authored
This is a customizable extract-and-expand HMAC-KDF for deriving keys. It derives from RFC5869, which derives its rationale from Krawczyk, H., "Cryptographic Extraction and Key Derivation: The HKDF Scheme", Proceedings of CRYPTO 2010, 2010, <http://eprint.iacr.org/2010/264>. I'm also renaming the existing KDF, now that Tor has two of them. This is the key derivation scheme specified in ntor. There are also unit tests.
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- Dec 05, 2012
-
-
Nick Mathewson authored
-
George Kadianakis authored
Fixes bug #7592; bugfix on 882b3896. The bug is not present in any released versions of Tor.
-
- Dec 03, 2012
-
-
Roger Dingledine authored
-
- Nov 28, 2012
-
-
Nick Mathewson authored
-
-
-
- Nov 23, 2012
-
-
Nick Mathewson authored
"error=Unable to launch resolve request" is not a nice thing to tell the controller. Bugfix on 0.2.0.19-alpha (c11c48fc).
-
Nick Mathewson authored
-
Nick Mathewson authored
RFC1123 suggests that we should handle two-year times, and a full range of time zones, and other stuff too. We don't.
-