4,097 research outputs found
An O(M(n) log n) algorithm for the Jacobi symbol
The best known algorithm to compute the Jacobi symbol of two n-bit integers
runs in time O(M(n) log n), using Sch\"onhage's fast continued fraction
algorithm combined with an identity due to Gauss. We give a different O(M(n)
log n) algorithm based on the binary recursive gcd algorithm of Stehl\'e and
Zimmermann. Our implementation - which to our knowledge is the first to run in
time O(M(n) log n) - is faster than GMP's quadratic implementation for inputs
larger than about 10000 decimal digits.Comment: Submitted to ANTS IX (Nancy, July 2010
A Binary Recursive Gcd Algorithm
The binary algorithm is a variant of the Euclidean algorithm that performs well in practice. We present a quasi-linear time recursive algorithm that computes the greatest common divisor of two integers by simulating a slightly modified version of the binary algorithm. The structure of the recursive algorithm is very close to the one of the well-known Knuth-Schönhage fast gcd algorithm, but the description and the proof of correctness are significantly simpler in our case. This leads to a simplification of the implementation and to better running times
On Inversion in Z_{2^n-1}
In this paper we determined explicitly the multiplicative inverses of the
Dobbertin and Welch APN exponents in Z_{2^n-1}, and we described the binary
weights of the inverses of the Gold and Kasami exponents. We studied the
function \de(n), which for a fixed positive integer d maps integers n\geq 1 to
the least positive residue of the inverse of d modulo 2^n-1, if it exists. In
particular, we showed that the function \de is completely determined by its
values for 1 \leq n \leq \ordb, where \ordb is the order of 2 modulo the
largest odd divisor of d.Comment: The first part of this work is an extended version of the results
presented in ISIT1
- …