This course will cover some topics from algorithmic number theory. The special emphasis will be given to the topics which are relevant for applications in cryptography. Applications of number theory in cryptography are very important in constructions of public key cryptosystems. The most popular public key cryptosystems are based on the problem of factorization of large integers and discrete logarithm problem in finite groups, in particular in the multiplicative group of finite field and the group of points on elliptic curve over finite field. In this course we will study these problems and explain some algorithms for their solution.
Algorithms for Diophantine approximations (continued fractions, LLL algorithm) will also be described, since they are important in cryptanalysis of some public key cryptosystems (RSA with small public or secret exponent, cryptosystems based on knapsack problem).
The starting point in the construction of almost all public key cryptosystems is the choice of one or more large prime numbers. For that reason, the most popular probabilistic and deterministic primality tests will also be described in the course.
Lecture notes
(in pdf format; in Croatian)
Seminar on Number Theory and Algebra (University of Zagreb)
Introduction to Number Theory - Undergraduate course (Andrej Dujella)
Cryptography - Undergraduate course (Andrej Dujella)
Elliptic curves and their applications in cryptography - Student seminar (2002/2003)
Algorithms from A Course in Computational Algebraic Number Theory (James Pate Williams)
Software packages of interest to number theory
PARI/GP home page
SAGE & PARI Calculator (William Stein)
MAGMA Calculator
Algorithmic Number Theory: Tables and Links (Noam Elkies)
The Prime Pages (Chris Caldwell)
High rank elliptic curves with prescribed torsion (Andrej Dujella)
Number Theory Web (maintained by Keith Matthews)
Graduate Schools in Cryptography (David Molnar)
Recommended readings for graduate students in number theory
Online mathematical journal math.e
Web pages of some number theory and cryptography courses:
Algorithmic Number Theory (Otto Forster, Universitat Munchen)
Applied Number Theory (Felipe Voloch, University of Texas)
Computational Number Theory and Applications to Cryptography (Andreas Stein, University of Wyoming)
Computer Algebra Systems and Cryptography (Marc Deleglise , ENS Lyon)
Crypto and Number Theory (Paul Garrett, University of Minnesota)
Cryptography and Cryptoanalysis (Edward Schaefer, Santa Clara University)
Elliptic Curves and Applications to Cryptography (Andreas Stein, University of Wyoming)
Getaltheorie en Cryptografie (Jan-Hendrik Evertse, Universiteit Leiden)
Lattices in Cryptography and Cryptanalysis (Daniele Micciancio, University of California, San Diego)
Number Theory and Cryptography (John Cosgrave, St. Patrick's College, Dublin)
Public Key Cryptography (Adi Shamir, Weizmann Institute of Science)
The Mathematics of Public-Key Cryptography (Doug Stinson, CACR - University of Waterloo)
Vorlesung uber Zahlentheorie und Kryptographie Vorlesungsskript (Wolfgang M. Ruppert, Universitat Erlangen-Nurnberg)