From 266419d244c1a4795407479693b016c5a8b5da96 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 4 Feb 2013 12:50:01 -0500 Subject: Tolerate curve25519 backends where the high bit of the pk isn't ignored Right now, all our curve25519 backends ignore the high bit of the public key. But possibly, others could treat the high bit of the public key as encoding out-of-bounds values, or as something to be preserved. This could be used to distinguish clients with different backends, at the cost of killing a circuit. As a workaround, let's just clear the high bit of each public key indiscriminately before we use it. Fix for bug 8121, reported by rransom. Bugfix on 0.2.4.8-alpha. --- changes/bug8121 | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 changes/bug8121 (limited to 'changes/bug8121') diff --git a/changes/bug8121 b/changes/bug8121 new file mode 100644 index 0000000000..60cba72848 --- /dev/null +++ b/changes/bug8121 @@ -0,0 +1,7 @@ + o Minor features: + - Clear the high bit on curve25519 public keys before passing them to + our backend, in case we ever wind up using a backend that doesn't do + so itself. If we used such a backend, and *didn't* clear the high bit, + we could wind up in a situation where users with such backends would + be distinguishable from users without. Fix for bug 8121; bugfix on + 0.2.4.8-alpha. -- cgit v1.2.3-54-g00ecf