

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Exam; Class: Codes and Cryptography; Subject: Mathematical Computer Science; University: University of Illinois - Chicago; Term: Spring 2008;
Typology: Exams
1 / 3
This page cannot be seen from the preview
Don't miss anything!


Chapters and Sections refer to the textbook for the course: Trappe and Washington, Introduction
to Cryptography with Coding Theory, 2
nd
Ed. Sections with as asterisk will be covered only a
limited way; please see the text below for more details.
Chap 1: Secs 1.1–1.2 and extra material covered in class.
You should be familiar with the basic definitions and concepts.
You should also be familiar with computations regarding the probability of various error
patterns in the presence of white noise (binary code).
Chap 2: Not covered on final.
Chap 3: Secs 3. 1 – 3.7 and 3.
Definitions and properties.
n = the integers mod n.
( n ) and ( n ), meaning and formulas for computing (( n ) especially) given
factorization of n.
Pseudo-primes, Carmichael numbers and absolute pseudo-primes.
Major theoretical results.
Prime Number Theorem (sec 3.1.2).
Fermat’sLittleTheorem.
Euler’sTheorem.
Existence of primitive roots in a prime (actually prime power) modulus.
The relationship between factoring an integer and finding all of its square roots.
Critical Algorithms.
Euclid’sExtended Algorithm (gcd and lcm, modular inverses, solving other congruences).
Chinese Remainder Theorem.
Fast Modular Exponentiation.
The Rabin-Miller Primality Test (actually in Chap 6 of text).
Other important algorithms.
Determining if an integer a is a quadratic residue mod p ( Is a
( p 1)/
1 (mod p )?)
Finding square roots mod p (or mod p
e
). You will need to know this only when e = 1
and p 3 (mod 4), but please understand that the problem is not hard in any case.
“Easy”vsdifficultcomputations.
You should know which calculations are relatively easy (say for 1000-bit integers) and
which are extremely difficult, except in special cases, as far as we know. Difficult
problems include:
i) factoring large integers (two or more distinct prime divisors).
ii) computing square roots mod n when we cannot factor n.
iii) computing ( n ) where we cannot factor n.
iv) computing discrete logarithms in a prime modulus, and the (possibly
simpler) Diffie-Hellman computational problem (Given ,
x
, and
y
(mod p ), compute
xy
(mod p ).
v) Possibly finding a primitive element mod p if we cannot factor p 1. (As far
as I know, there is no known way to do this efficiently.)
Chap 4: Secs 4. 1 – 4.2 and 4.
Components used to design cryptographic circuits
S-boxes
P-boxes (possibly expanding or contracting)
XOR-boxes
Shift boxes
Feistel Ciphers
How they work.
Relation between encryption and decryption subkeys.
DES (Data Encryption Standard)
You should know that
DES was an official standard for many years.
DES has block size 64, 16 rounds, effective key length 56, and subkey length 48.
The security in DES comes primarily from eight 64 S-boxes.
Except for the choice of too short a key length, DES appears to have been well
designed.
The key length is too short, and today DES can be broken, although great effort is
required.
Triple DES was adopted as a temporary fixup, and a new algorithm (Rijndael)
was chosen as the Advanced Encryption Standard (AES) to replace DES.
Youdon’tneedtomemorizeanydetailsaboutDES,exceptasnotedabove.
Modes of operation:
You should be somewhat familiar with the concept of modes of operation (specifically
ECB, CBC, and CFB),butyoudon’tneedtomemorizehowtheywork.
Chap 5: Not covered.
Chap 6: Secs 6.1, 6.3, and 6.
The RSA algorithm: The most important public-key algorithm. How it works, and what its
security rests on.
Primality testing via the Fermat, Euler, and Rabin-Miller algorithms, mentioned in 3 above.
(The Solovay-Strassen test, good but inferior to Rabin-Miller, was not covered in class and
will not be covered on the final.)
Factoring: You should be somewhat familiar with the quadratic sieve, and be able to apply
it in simple cases.
Chap 7: Secs 7.1, 7.4, and 7.