Optimizing and Parallelizing Brown’s Modular GCD Algorithm

نویسندگان

  • Matthew Gibson
  • Michael Monagan
چکیده

Consider the multivariate polynomial problem over the integers; that is, Gcd(A,B) where A,B ∈ Z[x1, x2, . . . xn]. We can solve this problem by solving the related Gcd problem in Zp[x1, x2, . . . xn] for several primes p, and then reconstructing the solution in the integers using Chinese Remaindering. The question we address in this paper is how fast can we solve the problem Gcd(A,B) in Zp[x1, x2, . . . xn] using either 31 or 63 bit primes, and how well can we make use of parallel processing to do so? To this end, we implemented a modular algorithm using evaluations and interpolations, and parallelized it using the CILK framework. Several optimizations for the algorithm were found, and a few parallelization strategies were attempted. Our final implementation preformed significantly better than both maple and magma on most test cases without using multiple processors, and with parallelization we acheive a speedup of a factor of about 11 on 16 processors. The modular method of solving the GCD problem was first explained by Brown in 1971 [1]. Further, the methods used here are very similar to those used in a 2000 paper by Monagan and Witkopf [2]. A proof of Brown’s algorithm will be included in this paper to aid in the explenations of the optimizations developed. However, one may wish to reference either the 1971 or 2000 papers for an alternative and more detailed proof. The MGCD (modular GCD) algorithm is going to compute the GCD G and the corresponding co-factors Ā, B̄ of the inputs A,B ∈ Zp[x1, x2 . . . xn]. The algorithm is modular and recursive. We will use an evaluation homomorphism to remove the variable x1, solve the problem in Zp[x2 . . . xn] several times recursively, and use the results to reconstruct the solution to the original n-variable problem.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Modular Algorithm for Computing Polynomial GCDs over Number Fields presented with Multiple Extensions

We consider the problem of computing the monic gcd of two polynomials over a number field L = Q(α1, . . . , αn). Langemyr and McCallum have already shown how Brown’s modular GCD algorithm for polynomials over Q can be modified to work for Q(α) and subsequently, Langemyr extended the algorithm to L[x]. Encarnacion also showed how to use rational number to make the algorithm for Q(α) output sensi...

متن کامل

On Degrees of Modular Common Divisors and the Big Prime gcd Algorithm

We consider a few modifications of the Big prime modular gcd algorithm for polynomials in Z[x]. Our modifications are based on bounds of degrees of modular common divisors of polynomials, on estimates of the number of prime divisors of a resultant and on finding preliminary bounds on degrees of common divisors using auxiliary primes. These modifications are used to suggest improved algorithms f...

متن کامل

Computational Number Theory and Applications to Cryptography

• Greatest common divisor (GCD) algorithms. We begin with Euclid’s algorithm, and the extended Euclidean algorithm [2, 12]. We will then discuss variations and improvements such as Lehmer’s algorithm [14], the binary algorithms [12], generalized binary algorithms [20], and FFT-based methods. We will also discuss how to adapt GCD algorithms to compute modular inverses and to compute the Jacobi a...

متن کامل

A modular integer GCD algorithm

This paper describes the first algorithm to compute the greatest common divisor (GCD) of two n-bit integers using a modular representation for intermediate values U , V and also for the result. It is based on a reduction step, similar to one used in the accelerated algorithm [T. Jebelean, A generalization of the binary GCD algorithm, in: ISSAC ’93: International Symposium on Symbolic and Algebr...

متن کامل

GCD-Free Algorithms for Computing Modular Inverses

This paper describes new algorithms for computing a modular inverse e−1 mod f given coprime integers e and f . Contrary to previously reported methods, we neither rely on the extended Euclidean algorithm, nor impose conditions on e or f . The main application of our gcd-free technique is the computation of an RSA private key in both standard and CRT modes based on simple modular arithmetic oper...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014