## General Information

1. Lectures Monday, Wednesday and Friday 2:10-3:00 pm in ENGRG E203
2. Instructor: Anton Betten Weber 207
3. Office hours: Monday 4-5pm, Wednesday 8-9am.
4. Contact details: phone 491 1865, email betten at math dot colostate dot edu
5. Credits: 3

M229

## Textbook

W. Trappe, L. C. Washington: Introduction to Cryptography with Coding Theory, Prentice Hall, Second Edition

## Homework and Quizzes

Homework will be assigned but not collected. Quizzes will be held Friday every second week to review the material from the previous two weeks.

## Exams

There will be three midterms and one final exam. These will be held in the lecture room.
1. Midterm 1: September 25
2. Midterm 2: October 23
3. Midterm 3: November 15
4. Final: during final's week December 11-15, the exact date can be found at the registrar's website. It will not be published here.
diagram
There will be no make-up exams. If you have a conflict, you need to discuss the matter with the teacher well in advance.

Your final grade will be determined from a score of 600. The quizzes and midterms count 100 points each, the final counts 200 points.

## Course Syllabus

This course is about cryptography and coding theory, as well as the underlying algebra. We will discuss various cryptosystems, presenting the underlying algebra in bits and pieces as we go along and as needed.
In detail, we will cover to following subjects:
• 1 Overview Cryptography
• 2 Classical Cryptosystems:
1. Shift cipher,
2. affine cipher, integers mod p, euclidean algorithm, inverse mod p
3. Vigenére cipher, including probability analysis according to Friedman and Kasiski,
4. substitution cipher,
5. block ciphers,
6. binary numbers and ascii,
7. the Enigma.
• 3 Basic Number Theory: Divisibility, primes, greatest common divisor, extended Euclidean algorithm, congruences, Chinese Remainder Theorem, modular exponentiation, Fermat's little Theorem and Euler's Theorem, primitive roots, finite fields.
• 6 public key cryptosystems, RSA
• 4 DES
• 5 AES: Rijndael and finite fields
• 6.3 Primality testing, Fermat test, Miller Rabin, pseudoprimes,
• 6.4 Factoring: Fermat, p-1, Quadratic sieve
• 7 Discrete logarithm, Pohlig Hellman, El-Gamal, roots of unity modulo p
• 16 Elliptic curves and projective planes, large abelian groups
We will frequently use the computer lab, using both web forms and small Maple programs.

## Lab

we are going to use the computer lab in Weber 205, here are some general rules by the system administrator zube: rules

## Homework

 hw 1 hw 2 hw 3 hw 4 hw 5

## Cryptanalysis

shift cipher
substitution cipher
affine cipher
vigenere cipher
vigenere table

## RSA Cryptosystem

RSA setup
RSA encrypt / decrypt
compute x^a mod n (this one works for long integers!)
extended Euclidean algorithm for integers

## Finite Fields

multiply two polynomials over a finite field modulo a third one
extended Euclidean algorithm for polynomials over a finite field

## Elliptic Curves

MAPLE worksheet: intoduction to elliptic curves

File translated from TEX by TTH, version 3.74.
On 29 Nov 2006, 10:25.