Cryptography I
VCSG-705/VCSS-482
Winter 2012/2013
Assignment 1, due Tuesday, December 11
- Find the value of the Euler totient function
phi(n),
for n = 928, 930, 931, 932, 933, 934 and 935.
Show the details of computations.
- Compute 3737 modulo 521, using
the modular exponentiation algorithm.
Show the details of computations.
-
Compute order of a modulo n, for all possible a,
for n = 17, 21 and 25. If you wish, you may write a simple program.
For all cases, identify all primitive roots.
- Use extended Euclid algorithm to find the multiplicative
inverse of 55 modulo n, if it exists, for
n = 1033, 1034, 1035 and 1036. Show the details of computations.
-
For each of the following compute the value of or argue that it is not
defined. For at least two of the five cases below, do the computations
without using the program from the previous
question, and describe briefly how you have done it.
discrete logarithm of 2 base 3 mod 11
discrete logarithm of 2 base 3 mod 19
discrete logarithm of 3 base 3 mod 97
discrete logarithm of 3 base 4 mod 97
discrete logarithm of 3 base 5 mod 97
- Solve exercise 8 page 226.
Show the details of your work.
Assignment 2, due Thursday, December 20, 2012
- Solve exercise 5 page 226. Show the details of your work.
- Solve exercise 6 page 226.
- Solve exercise 7 page 226.
- Solve exercise 12 page 227. Show the details of your work.
The ciphertexts from Tables 5.1 and 5.2 are available.
Assignment 3, due Tuesday, January 8, 2013
Perform cryptanalysis of four
ciphertexts
which were obtained using substitution cipher, affine cipher, and
the Vigenere cipher. You have to determine which cipher was used in each
case. The frequencies of characters, digrams and trigrams can be obtained
using the program freq.c, written by Adam Kropelin.
The header contains information about the usage.
Submit hardcopy of all your work (including source of your code),
and explain in detail how you arrived to the solution. Just recovering
the plaintexts is not sufficient.
Hints
-
The general substitution cipher was applied to a plaintext in English.
-
In Polish, the letter "o" is very common, while the letters
"x", "v" and "q" are used rarely.
-
In Spanish, the letters "e", "a" and "o" are very common,
while the letters "k", "w" and "x" are used rarely.
Midterm Exam, Tuesday, January 15, 6pm-7:50pm, 70-3560
Assignment 4, due Thursday, January 31, 2013
-
Solve exercise 3 page 114 (DES complements).
-
Find all irreducible polynomials in Z3[x]
of degree 3 with leading coefficient 1.
Show the details of your work.
-
The polynomial x4 + x + 1 is irreducible
in Z2[x].
Using square-and-multiply algorithm compute
x11 mod x4 + x + 1 in Z2[x],
i.e. in the Galois field 24.
Show the details of computations.
-
Find orders of all elements of the field GF(9)
represented modulo irreducible x2 + 1 over
Z3 (given the table of powers of g in
the handout, you actually don't need to perform any
multiplications in GF(9)). Explain how you obtained
the results.
-
Compute 10101001*11010011 in GF(256),
using AES field representation as in section 3.6.1.
Perform your calculations by hand, show the details of work.
Assignment 5, due Thursday, February 14, 2013
Primality Testing
A note on page 187 says that the error probability of
the Miller-Rabin primality test is at most 1/4.
You will now test this claim experimentally.
-
Find the largest error probability of Miller-Rabin primality
testing algorithm for odd integers between 85,000 and 87,000.
It is ok to brute-force. In your answer, you should give
this largest error probability (with decimals of precision)
and 10 odd integers between 85,000 and 87,000
for which the highest error probability occurs.
-
Submit a commented hardcopy of your code,
and a clear description of what you did.
You are encouraged to compare your error probabilities
with your classmates.
-
If you want more of a challenge, find the largest error probability
of Miller-Rabin for odd integers from intervals bounded by
larger numbers. Your answer should have
the same format as the case above.
Back to the course page