Mitarbeiter
Software project Calculator for finite Galois fields
project term: WS 2006/2007
4 parallel project groups
project task
For a given natural number n, GF (n), the finite field with n elements, had to be constructed if existing. For any two elements of GF (n), addition, subtraction, multiplication and division had to be performed on demand. The use of calculation tables constructed in previous steps had to be reconsidered.
This project required detailed knowledge of number theory and finite fields in the extent which is taught in the lecture Discrete Mathematics for computer scientists at FH Wedel in the first semester.
In detail, the following functionality had to be provided:
1) Computation of the characteristic values p and r for a given n (if existing).
2) Computation of the additive table.
3) Input mask for a degree r polynomial which is irreducible in GF (p). The test for irreducibility was not demanded.
4) Computation of the multiplicative table using the given irreducible polynomial. This required the implementation of polynomial multiplication and division GF (p).
5) Storage of the computed tables in an external file using a suitable format.
6) Loading of previously computed tables from the external file.
7) Interactive calculator:
Addition, subtraction, multiplication and division of two number in GF (n)
results
Each project group presented a solution which solved the required tasks in full extent.
Three project groups additionally provided a graphical interface which enables a user to work with as long as the user is acquainted with the basics of finite fields. The resulting are provided for public download in the following. However, the user interface is in German only.
download of programs for computation in finite fields (German user interface only)
All programs provide for a given number n = pr the addition and multiplication tables of the finite field with n numbers 0, 1, ..., n-1. p has to be a prime number and r>0 an arbitrary natural number. Finite fields for numbers n not fulfilling this representation do not exist. The programs provide an interactive calculator for any basic operations addition, subtraction, multiplication and division. It is also possible to inspect the entire computation tables in one step.
For the construction of the multiplication tables, it is necessary to provide an irreducible polynomial of degree r. A polynomial is irreducible if and only if it cannot be factored into two polyomials of lower degree. For example, each polynomial of degree 1 is irreducible. For higher degrees, a necessary (but unfortunately not sufficient) condition is the absence of roots. Just test several polynimials! Some of the programs provided help with recognizing reducibility. You have been successful when the multiplication tables does not contain zero divisors.
Most of the functionalities of the programs are easy to grasp. The only prerequisite is a general knowledge which is a field. Some of the downloads even contain a documentation. However, it is in German.
1) authors: Franziska Fuhlendorf, Andreas Stuht
This Program was implemented in Delphi. It is provided as exe which is directly executable, but only under Windows.
2) authors: Sven Kölle, Thomas Kresalek
This Program was implemented in Java. It is provided as zipped class bibliography with an executable runtime batch file. You have to download the entire directory and unzip it. The batch file has to be started in the same directory. The program works in all environments with a Java Virtual Machine (jdk at least 1.5.0).
3) authors: Franziska Kühn, Imke Stoltenberg
This Program was implemented in Delphi. It is provided as exe which is directly executable, but only under Windows.