Efficient Finite Fields in the Maxima Computer Algebra System

  • Fabrizio Caruso
  • Jacopo D’Aurizio
  • Alasdair McAndrew
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5130)


In this paper we present our implementation of finite fields in the free and open Maxima computer algebra system. In the first version of our package we focused our efforts on efficient computation of primitive elements and modular roots. Our optimizations involve some heuristic methods that use “modular composition” and the generalized Tonelli-Shanks algorithm. Other open and free systems such as GP/Pari do not include in their standard packages any support for finite fields. The computation of the primitive element in Maxima is now faster than in Axiom. Our package provides a more user-friendly interface for teaching than other comparable systems.


finite fields primitive element modular roots Maxima 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Brickell, E., Gordon, D., McCurley, K., Wilson, D.: Fast exponentiation with precomputation. In: Rueppel, R.A. (ed.) EUROCRYPT 1992. LNCS, vol. 658, pp. 200–207. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  2. 2.
    Caruso, F., D’Aurizio, J., Mc Andrew, A.: On line manual on Finite Fields in Maxima (2007),
  3. 3.
    Chor, B., Rivest, R.L.: A knapsack-type public key cryptosystem based on arithmetic in finite fields. IEEE Trans. Inform. Theory 34(5, part 1) 901–909 (1988)Google Scholar
  4. 4.
    Cipolla, M.: Sulla risoluzione apiristica delle congruenze binomie secondo un modulo primo. Mathematische Annalen 63, 54–61 (1907)CrossRefMathSciNetzbMATHGoogle Scholar
  5. 5.
    Creutzig, C., Oevel, W.: MuPAD Tutorial, 2nd edn. Springer, Heidelberg (2004)Google Scholar
  6. 6.
    Daemen, J., Rijmen, V.: The design of Rijndael. In: Information Security and Cryptography. AES—the advanced encryption standard. Springer, Heidelberg (2002)Google Scholar
  7. 7.
    Pari Group. GP/Pari on line documentation (2003),
  8. 8.
    Heck, A.: Introduction to Maple, 3rd edn. Springer, Heidelberg (2003)zbMATHGoogle Scholar
  9. 9.
    Itoh, T., Tsujii, S.: A fast algorithm for computing multiplicative inverses in \(\mathbb{F}_{2^m}\) using normal bases. Inform. and Comput. 78(3), 171–177 (1988)CrossRefMathSciNetzbMATHGoogle Scholar
  10. 10.
    Jenks, R.D., Sutor, R.S.: AXIOM. The scientific computation system, With a foreword by David V. Chudnovsky and Gregory V. Chudnovsky. Numerical Algorithms Group Ltd., Oxford (1992)zbMATHGoogle Scholar
  11. 11.
    Lehmer, D.H.: Computer technology applied to the theory of numbers. In: Studies in Number Theory, pp. 117–151; Math. Assoc. Amer. (distributed by Prentice-Hall, Englewood Cliffs, N.J.) (1969) Google Scholar
  12. 12.
    McAndrew, A.: Teaching cryptography with open-source software. In: SIGCSE 2008: Proceedings of the 39th SIGCSE technical symposium on Computer science education, pp. 325–329. ACM, New York (2008)CrossRefGoogle Scholar
  13. 13.
    McEliece, R.J.: Finite Fields for Computer Scientists and Engineers. Kluwer Academic Publishers, Boston (1987)zbMATHGoogle Scholar
  14. 14.
    Menezes, A.J., van Oorschot, P.C., Vanstone, S.A.: Handbook of applied cryptography. CRC Press Series on Discrete Mathematics and its Applications. CRC Press, Boca Raton (1997) (With a foreword by Ronald L. Rivest) zbMATHGoogle Scholar
  15. 15.
    Müller, S.: On the Computation of Square Roots in Finite Fields. Designs, Codes and Cryptography 31(3), 301–312 (2004)CrossRefMathSciNetzbMATHGoogle Scholar
  16. 16.
    Pohlig, S.C., Hellman, M.E.: An improved algorithm for computing logarithms over GF(p) and its cryptographic significance. IEEE Trans. Information Theory IT-24(1), 106–110 (1978)CrossRefMathSciNetGoogle Scholar
  17. 17.
    Rowney, K.T., Silverman, R.D.: Finite field manipulations in Macsyma. SIGSAM Bull. 23(1), 39–48 (1989)CrossRefzbMATHGoogle Scholar
  18. 18.
    Schelter, W.F., The Maxima Group: Maxima on line documentation (2001),
  19. 19.
    Shanks, D.: Five Number-Theoretic Algorithms. In: Proceedings of the Second Manitoba Conference on Numerical Mathematics, pp. 51–70 (1972)Google Scholar
  20. 20.
    Shoup, V.: New Algorithms for Finding Irredicible Polynomials Over Finite Fields. Mathematics of Computation 54(189), 435–447 (1990)CrossRefMathSciNetzbMATHGoogle Scholar
  21. 21.
    Shoup, V.: Searching for Primitive Roots in Finite Fields. Math. Comp. 58(197), 369–380 (1992)CrossRefMathSciNetzbMATHGoogle Scholar
  22. 22.
    Stickelberger, L.: Über eine neue Eigenschaft der Diskriminanten algebraischer Zahlkörper. In: Verhandlungen des ersten Internationalen Mathematiker-Kongresses, pp. 182–193 (1897)Google Scholar
  23. 23.
    Tonelli, A.: Bemerkung über die Auflösung quadratischer Congruenzen. Göttingen Nachrichten, 344–346 (1891)Google Scholar
  24. 24.
    Wang, Y.: On the least primitive root of a prime. Sci. Sinica 10, 1–14 (1961)MathSciNetGoogle Scholar
  25. 25.
    Yan, S.Y.: Number Theory for Computing, 2nd edn. Springer, New York (2002)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Fabrizio Caruso
    • 1
  • Jacopo D’Aurizio
    • 1
  • Alasdair McAndrew
    • 2
  1. 1.Dipartimento di Matematica L. TonelliUniversità di PisaPisaItaly
  2. 2.School of Computer Science and MathematicsVictoria UniversityMelbourneAustralia

Personalised recommendations