Contact me by emailing map01rs@gold.ac.uk

One of the major purposes of computers is the generation, storage and communication of information. How do we keep this information secure and intact but still available to genuine users? How do we know that hackers are attempting to get into our computer system, and how can we prevent them? How can we design a security system which is user friendly, yet secure against attack?

This course will introduce you to some important techniques of computer security, including access control and identification, encryption using symmetric and public key cryptography, key management, and security for electronic mail.

Following are links to the slides used in the lectures. However, PLEASE DO NOT treat the slides as a replacement for the study guide. If you miss a lecture you need to work through the relevant pages of the study guide and any other recommended reading for that week.

- Features of a Security System
- Password Systems - preventing attacks
- Access Controls
- Design of Cryptosystems - blocksize, keysize etc - what these terms mean and why they are important
- Key Management - why is this a problem and what are possible solutions
- What a Symmetric Cryptosystem is - in particular DES and how to strengthen DES to 3DES
- What a Public Key Cryptosytem is - in particular algorithms for RSA and El Gamal
- How to make a Digital Signature or Key Exchange Protocol using Public or Symmetric Key Cryptosystems
- What is a security certificate and why are they important
- Key Escow - what is it and how does it work
- WEEK ONE
- Slides Week 1 Introduction
- Slides Week 1 Identification
- Exercises Week 1 Security Policies

- WEEK TWO
- Slides Week 2 Access Control
- Slides Week 2 Encryption
- Exercises Week 2 Introduction to Encryption
- Week 2 sample solution program

- WEEK THREE
- Slides Week 3 Symmetric Encryption Schemes
- Exercises Week 3 Encryption Without Key Exchange
- Week 3 sample solution program

- WEEK FOUR
- Slides Week 4 Block Ciphers
- Slides Week 4 Complexity
- Exercises Week 4 click here for a Rijndael Demonstration
If this link does not work then you can download the program from Rijndael Home Page
I would also recommend Simon Singh's page which has lots of links to other crypto sites.

- WEEK FIVE
- Slides Week 5 Modular Arithmetic
- Slides Week 5 RSA
- RSA Example including Euclid's Algorithm and fast exponentiation

- WEEK SIX
- Slides Week 6 El Gamel
- El Gamel Example
- Exercises Week 6 Generating public/private keys
- Click here for some practice exam questions on public key cryptography.

- WEEK SEVEN
- Slides Week 7 Key Exchange Techniques
- Exercises Week 7 Implementing Diffie-Hellman
- Some notes on Finding a Generator Mod p

- WEEK EIGHT
- Slides Week 8 Hash Functions
- Exercises Week 8 Security Certificates on The Internet

- WEEK NINE
- Slides Week 9 PGP
- Exercises Week 9 PGP and the Web of Trust
- Handout on the PGP Web of Trust model

- WEEK TEN
- Slides Week 10 Key Escrow
- Exercises Week 10 Random Numbers
- CIS326 2004 Exam Paper and Solutions. I have put the solutions here at the request of a student, but please note that you will benefit most by trying to do the exam paper first and then checking your answers.

You can get a copy of the sheet on modular arithmetic here. This also includes details of the algorithm used to calculate exponentials. We will cover this algorithm in detail later on in the course. Anyone still unsure about modular arithmetic could look at this site which explains modular arithmetic in terms of simple clock arithmetic.

Here are some practice exam questions on the material covered in weeks 1,2 and 3. Please note however that the exam this year will not include any short compulsary questions as in previous years. Instead there will be five long questions of which you will have to answer any three.

Click here to go back to the top

Elliptic Divisibility Sequences are sequences of integers defined by a recurrence formula and with the property that if m divides n then the mth term of the sequence will divide the nth term for all integers m and n.

Here's an example:

The sequence starts like this 0,1,1,-1,1,2,... and carries on indefinately.

Given 4 consecutive terms, you can work out the next using the formula above and you'll always get an integer.

Ellitic Divisibility Sequences are fascinating in their own right (well they are if you're a number theorist) and they are related to Elliptic Curves

Elliptic Divisibility Sequences give us a way of working with Elliptic Curves without actually working with curves. This leads to a set of algorithms which are very simple to explain and implement, and which can be used to solve the Elliptic Curve Discrete Log Problem in certain cases.

Following are links to 2 slide shows that I presented in Toronto (a brief introduction) and at University of East Anglia (more details).

You can download a gzipped ps copy of the thesis by clicking here.

If you want to know more about my Ph.D. or are interested in Elliptic Divisibility Sequences then email me at map01rs@gold.ac.uk

Click here to go back to the top