
MATH3024
Elementary Cryptography and Protocols


Cryptography is the branch of mathematics which provides the techniques
for enabling confidential information to be transmitted over public
networks. This unit is an introduction to cryptography, with an
emphasis on the cryptographic primitives that are in most common use
today. The first portion of the unit reviews classical cryptosystems
and the attacks which render them insecure.
The unit then covers modern symmetric cryptosystems, from the block
ciphers such as DES and AES to stream ciphers.
Finally asymmetric, or public key, cryptosystems such as RSA and
ElGamal are treated.
These cryptographic primitives will be used to construct protocols
for realising digital signatures, data integrity, identification,
authentication and key distribution.
An important feature of the course will be weekly exercises in
practical cryptography using the Computer Algebra System Magma.
The unit of study information sheet
covers the specifics of the course contents and assessment criteria.




Tutorial exercises and solutions 




Lecture Materials 

Overviews of the main lecture topics an be downloaded: 

01:
Elementary Cryptography. 
05:
Modes of Operation 
09:
RSA. 

02:
Elementary Cryptanalysis. 
06:
Stream Ciphers 
10:
ElGamal. 

03:
Information Theory. 
07:
Modular Arithmetic. 
11:
Secret Sharing. 

04:
Block Ciphers 
08:
Protocols. 
12:
Hashing, Digital Signatures, and Cash. 




Ciphertext Samples 



Vigenère ciphertext analyzer.
This javascript
program, based on a program of
Fred Richman,
can be used to analyze and decipher ciphertext from simple
substitution and Vigenère ciphers. 



Assignments 

The
first assignment is available.
Check
here for your individual data and assignment sheet.
Data for
digraph frequencies can be used
for cryptanalysis of substitution ciphers.
The due date for this assignment was Friday 30 April.
Submission was through the online
submission form and only
your recovered keys and data were required.
Assignment results
can be obtained with your submission receipt; solution strategies
and code are available
here. 
The second assignment
is available. Follow the link in
README
for your individual data.
The assignment FAQ sheet
answers many of the frequently asked questions, and gives
general hints.
The Magma FAQ may be of
general assistance.
The due date for the assignment was Tuesday 15 June.





Exam 
The University of Sydney
Library
maintains a database of previous years' exams. 



Magma computational algebra system 
Tutorial exercises will emphasize both hand computations and computer
exercises in Magma. The
Introduction to Magma for Cryptography provides a brief overview
to the syntax and concepts in Magma. The student version of
magma
can be downloaded for home use. You will also need to download the
magma cryptography package for this
course. 
