[tor-bugs] #23061 [Core Tor/Tor]: crypto_rand_double() should produce all possible outputs on platforms with 32-bit int
Tor Bug Tracker & Wiki
blackhole at torproject.org
Thu Aug 24 23:08:14 UTC 2017
#23061: crypto_rand_double() should produce all possible outputs on platforms with
32-bit int
-------------------------------------------------+-------------------------
Reporter: teor | Owner: nickm
Type: defect | Status:
| needs_review
Priority: Medium | Milestone: Tor:
| 0.3.2.x-final
Component: Core Tor/Tor | Version: Tor:
| 0.2.2.14-alpha
Severity: Normal | Resolution:
Keywords: tor-relay, security-low, privcount, | Actual Points: 0.5
031-backport, 030-backport, 029-backport, 028 |
-backport-maybe, 027-backport-maybe, 026 |
-backport-maybe, review-group-22 |
Parent ID: | Points: 0.1
Reviewer: | Sponsor:
| SponsorQ
-------------------------------------------------+-------------------------
Comment (by yawning):
If the test assuming `f(n-1) < f(n) < f(n+1)` is ok, then you can do:
{{{
double expected_increment = pow(FLT_RADIX, -DBL_MANT_DIG);
assert(uint64_to_dbl_0_1(1) == expected_increment);
// Hell, stick this in a for loop that randomly samples n, and asserts
if you really care.
assert(uint64_to_dbl_0_1(2) - uint64_to_dbl_0_1(1) ==
expected_increment);
}}}
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/23061#comment:28>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list