|
Cryptography
|
|
Cryptography is the branch of mathematics which provides the techniques for enabling
confidential information to be transmitted over public networks.
We begin with an overview of cryptography, including the fundamental concepts of encryption,
material on classical ciphers and their cryptanalysis, and distinction between symmetric key and
asymmetric (or public) key cryptography. Material on symmetric key cryptography will cover
standard block cipher constructions, together with their modes of use, followed by stream
ciphers. For the subject of public key cryptography, we recall the construction of the quotient
rings Z/NZ and introduce finite fields of any prime power. The main cryptosystems RSA and
ElGamal will be introduced, together with the main algorithms for their construction (finding
large primality and proving primality) and their cryptanalysis (factoring and discrete logarithm
algorithms). We conclude with more exotic generalisations of ElGamal cryptosystems to groups of
elliptic curves.
Throughout we emphasize an algorithmic approach, and demonstrate the principles with computer
experiments and exercises with the computer algebra system
Sage.
This will allow us to provide nontrivial examples and discuss algorithmic approaches to
construction of large prime numbers, factorization, and discrete logarithms.
|
|
|
|
|
|
|
Cryptography Book |
We will follow the book Cryptography [updated 23-01-2007]
developed for this course, in addition to the other reference materials mentioned
on the information sheet.
|
|
|
|
|
|
|
|
|
|
Assignments |
|
The first assignment is available
[sample text only].
Check instructions in the README
file for your custom assignment sheet and data. More detailed information
on approaches to breaking the ciphertext is in this
FAQ [updated 31-01-2007].
Data for digraph frequencies can be used
for cryptanalysis of substitution ciphers.
The due date for this assignment is Friday 2 February; read here for
submission guidelines. |
|
|
The second assignment is available.
Check instructions in the README
file for your individual data. For approaches using Sage on the
assignment, see FAQ
[updated 6-2-2007].
The due date for this assignment is Thursday 8 February; read here for
submission guidelines. |
|
|
|
|
|
|
Code Snippets |
|
The code snippet correlations.sage can
be useful for comparing plaintext and ciphertext probability distributions in
tutorials and assignments. |
|
|
|
|
Exam |
|
The University of Sydney library maintains a repository of exams,
of which the MATH3024 exams (last taught in 2004) could serve as
practice. Appendix D of the book also provides sample (hand)
questions. |
|
|
|
|
SAGE: Software for Algebra and Geometry Experimentation |
Tutorial exercises will emphasize both hand computations and computer exercises in Sage. |
|