  This article presents an efficient algorithm to generate a discrete uniform
distribution on a set of $p$ elements using a biased random source for $p$
prime. The algorithm generalizes Von Neumann's method and improves
computational efficiency of Dijkstra's method. In addition, the algorithm is
extended to generate discrete uniform distribution on any finite set based on
the prime factorization of integers. The time complexity of the proposed
algorithm is overall sublinear $\operatorname{O}(n/\log n)$
