|
|
(One intermediate revision by one other user not shown) |
Line 1: |
Line 1: |
| '''Bach's algorithm'''<ref>[[Eric Bach|Bach, Eric]]. ''How to Generate Factored Random Numbers'', SIAM Journal of Computing, 17 (1988), pp 179-193.</ref> is a probabilistic [[polynomial time]] [[algorithm]] for generating [[pseudorandom number generator|random]] numbers along with their [[factorization]], named after its discoverer, [[Eric Bach]]. It is of interest because no algorithm is known that efficiently factors numbers, so the straightforward method, namely generating a random number and then factoring it, is impractical.
| | Greetings. Let me start by telling you the author's title - Phebe. His spouse doesn't like it the way he does but what he truly likes performing is to do aerobics and he's been doing it for quite a whilst. For years I've been working as a payroll clerk. Years ago we moved to North Dakota.<br><br>my homepage - at home std test ([http://www.ubi-cation.com/ubication/node/6056 Check Out www.ubi-cation.com]) |
| | |
| The algorithm performs, in expectation, O(log n) [[primality tests]].
| |
| | |
| A simpler, but less efficient algorithm (performing, in expectation, O(log<sup>2</sup> n) primality tests), is known and is due to [[Adam Kalai]]<ref>Generating Random Factored Numbers, Easily: Adam Kalai, Journal of Cryptology, Vol 16, Number 4, 2003</ref>
| |
| | |
| == Overview ==
| |
| | |
| Bach's algorithm produces a number ''x'' uniformly at random between a given limit ''N'' and ''N''/2, specifically <math>\frac{N}{2} < x \le N</math>, along with its factorization. It does this by picking a [[prime number]] ''p'' and an exponent ''a'' such that <math>p^a \le N</math>, according to a certain distribution. Bach's algorithm is then recursively applied to generate a number ''y'' uniformly at random between ''M'' and ''M''/2, where <math>M = \frac{N}{p^a}</math>, along with the factorization of ''y''. It then sets <math>x = p^{a}y</math>, and appends <math>p^a</math> to the factorization of ''y'' to produce the factorization of ''x''. This gives ''x'' which logarithmic distribution over the desired range; [[rejection sampling]] is then used to get a uniform distribution.
| |
| | |
| == References ==
| |
| <references/>
| |
| * [[Eric Bach|Bach, Eric]]. ''Analytic methods in the Analysis and Design of Number-Theoretic Algorithms'', MIT Press, 1984. Chapter 2, "Generation of Random Factorizations", part of which is available online [http://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15750-s02/www/dartboard.pdf here].
| |
| | |
| [[Category:Cryptographic algorithms]]
| |
Greetings. Let me start by telling you the author's title - Phebe. His spouse doesn't like it the way he does but what he truly likes performing is to do aerobics and he's been doing it for quite a whilst. For years I've been working as a payroll clerk. Years ago we moved to North Dakota.
my homepage - at home std test (Check Out www.ubi-cation.com)