An introduction to fundamental algorithms that play an important
role in modern engineering science: finite field arithmetic
(crucial for cryptography and coding theory) as well as solving
systems of nonlinear equations (central to many areas of computer
science and enigeering). The focus is on acquiring mathematical
tools to solve problems in practice.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
Efficiently compute over finite fields: addition,
multiplication, squaring, exponentiation
Apply the algorithms for efficient finite field arithmetic to
implement real-world cryptographic protocols
Represent classes of real-world problems as systems of
nonlinear equations
Solve systems of nonlinear equations by applying such
algorithms as Buchberger's algorithm and SAT solvers
Apply a computer algebra system to solve computational problems
in practice
Determine complexity of algorithms
Write quality technical reports
Present results concisely and informatively
Efficiently work and communicate in teams
Kursusindhold:
Rings, finite fields, arithmetic in finite fields (efficient
addition, multiplication, squaring), algorithms for exponentiation,
algorithms for solving nonlinear systems of equations (such as SAT
solvers or Gröbner-basis finding Buchberger's algorithm),
computer algebra systems