Finite field algebra library
Project attribution: Project done in collaboration with Teodor Lungu.
Source: (Part of) The project’s source code is available here
Short description: Python library with fast arithmetic, polynomial and finite field operations.
Technologies: Python.
What I did: I implemented many of the operations, like: long division, find primitive, fast addition, multiplication, Euclid’s algorithm etc.
Python library that offers arithmetic functions:
- Integer arithmetic
- Addition, Subtraction, Multiplication, Division
- Fast Multiplication with Karatsuba’s technique
- Greatest Common Divisor with Euclid’s Algorithm
- Modular arithmetic
- Modular Addition, Subtraction, Multiplication, Inversion
- Polynomial arithmetic
- Polynomial Addition, Subtraction, Multiplication
- Polynomial Long Division
- Euclid’s algorithm for polynomials
- Checking and finding irreducible polynomials
- Arithmetic in finite fields
- Generate final fields
- Generating Addition and Multiplication tables
- Final field Addition, Subtraction, Multiplication, Inverse, Division
- Finding a Primitive