Math 342 - Algebra and Coding Theory.
Syllabus
Rivest, R.; A.
Shamir; L. Adleman. "A Method for Obtaining Digital Signatures and
Public-Key Cryptosystems"
Homeworks:
Problem set #1
Solutions
Problem set #2
Solutions
Problem set #3
Solutions
Problem set #4
Solutions
Problem set #5
Solutions
Problem set #6
Solutions
Problem set #7
Solutions
Problem set
#8
Solutions
Problem set
#9
Exam #1 solutions
Exam #2 solutions
Practice Final Exam
Topics since the second
midterm exam:
- Chapter 11:
- BCH codes
- Practice problems: 11.1, 11.3, 11.4, 11.6.
- Chapter 14: The main linear coding theory problem
- The two forms of the problem.
- d=3 case, Hamming codes.
- Projective space and the problem of finding linearly independent points.
New topics for the second
midterm exam:
- Chapter 8:
- Hamming codes, both binary and p-ary.
- Decoding with Hamming codes.
- How to determine the minimal distance of a code from the
columns of H.
- Omitted: Shortened and extended Hamming codes.
- Chapter 12:
- Division algorithm for polynomials. g.c.d of two polynomials
- Factorization of polynomials.
- Polynomials modulo f(x), operations modulo f(x), inverses
modulo f(x).
- Cyclic codes codes. How to determine all cyclic codes for a
given p and n. The matrices G and H for a cyclic code.
- Cryptography: (The RSA paper above, or Chapter 16.)
- Symmetric key algorithms (affine enciphering/deciphering
functions)
- Asymmetric key algorithms: RSA algorithm.
- Digital signatures with RSA algorithm.
- Number theory results related to RSA: Fermat's little
theorem, discrete logarithm, Euler's phi function.
- Omitted: Diffie-Hellman and McEliece algorithms.
Practice problems from the
textbook:
- Chapter 8: 8.1, 8.3, 8.5, 8.6, 8.11. (Notation: the Hamming
code
Ham(r,p) has parameters n=(p^r-1)/(p-1) and k=n-r. The
code is
also called a [n,k]-Hamming code.)
- Chapter 12: 12.1, 12.4, 12.5, 12.7, 12.8, 12.9, 12.10,
12.11,
12.12, 12.13, 12.15, 12.18. (Almost all problems are related
to factorization of
polynomials, especially the polynomial x^n-1.)
- Chapter 16: 16.1, 16.2, 16.3.
The following topics will be
included in the first midterm exam.
- Chapter 1:
- What is a (n,M,d) q-ary code?
- Hamming distance.
- Error detection and correction algorithms.
- How many errors can a code detect/correct?
- Omitted: Error probabilities.
- Chapter 2:
- What is a good code?
- Definition of A_q(n,d).
- Simple known values of A_q(n,d).
- Equivalence of codes.
- A_2(n,d) = A_2(n+1,d+1) when d is odd.
- Binomial coefficients.
- Spheres, number of elements in a sphere.
- The sphere packing bound and perfect codes.
- Omitted: Balanced block designs.
- Chapter 3:
- Integers: division, principal remainder, Euclidean
algorithm,
gcd.
- Z_m with addition and multiplication operations.
- Division in Z_m, fields Z_p.
- The ISBN code.
- Omitted: definition of an abstract field, Galois fields
GF(q)
other than Z_p.
- Chapter 4:
- The vector space Z_p^n=V(n,p).
- Subspaces of V(n,p).
- Span and linear independence.
- Basis of a subspace.
- Omitted: the axioms of a vector space.
- Chapter 5:
- Linear codes
- Minimal distance of a linear code
- Generator matrix
- How to bring a generator matrix to the standard form
- Omitted: Equivalence of linear codes
- Chapter 6:
- Encoding using a matrix multiplication
- Decoding using the standard array
- Omitted: Error probabilities
- Chapter 7:
- Dot product and orthogonality
- The matrix H and syndrome decoding
- Omitted: Incomplete decoding
Practice problems from the
textbook:
- Chapter 1: 1.5
- Chapter 2: 2.1, 2.2, 2.3, 2.4, 2.6, 2.8, 2.9, 2.10, 2.16,
2.17,
2.19.
- Chapter 3: 3.1, 3.2, 3.4, 3.6, 3.7, 3.9, 3.12, 3.13.
- Chapter 4: 4.1, 4.3.
- Chapter 5: 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9. (Also,
row
reduction and bringing a matrix to standard form.)
- Chapter 6: 6.1. (Also, matrix multiplication and how to
construct the standard array.)
- Chapter 7: 7.2, 7.3, 7.4, 7.5, 7.6, 7.11.