Institute of Computer Science
Courses.cs.ut.ee Institute of Computer Science University of Tartu
  1. Courses
  2. 2025/26 spring
  3. Modern Cryptology (MTAT.07.002)
ET
Log in

Modern Cryptology 2025/26 spring

  • HomePage
  • Lectures
  • Homeworks
  • Practice sessions
  • Links

Practice sessions

Relevant materials to the practice sessions will be posted here such as solutions to some problems.

Session 1 (TOP and historical ciphers)

Session 2 (Stream ciphers and cryptographic proofs)

  • SDH => DL: Attach:SDH_implies_DL.pdf
  • Proof that applying two PRG-s in parallel yields a PRG can be found in Dan Boneh's and Victor Shoup's book in section 3.4.1.
  • Extra problem(no bonus points but just for fun): Decrypt the message given by bytes 78 51 230 209 92 (equivalently 01010100 01000001 01010010 01010100 01010101) that was encrypted with the stream cipher where the PRG

was the LSFR generator (See Boneh and Shoups book).

The parameters for the PRG are as follows: Seed size: 8b PRG output size: 8*5 = 40b Index set V = {0, 1, 2, 3}

The encryption key was 26 (Equivalently 01011000) The answer should be five bytes which you can convert into a word under the utf-8 encoding.

  • A detailed text on how to write game-based proofs https://www.shoup.net/papers/games.pdf

Session 3 (Block ciphers and modes of operation)

  • Proof that a block cipher in CBC-mode is IND-CPA secure can be found in Boneh's and Shoup's book section 5.4.3.
  • PRP to PRF lemma can be found in Boneh's and Shoup's book (Theorem 4.4).
  • Implementation exercise: Let E(k, m)=k+m mod 256 be a block cipher that takes two 8-bit integers. Let D(k, c) = k-m mod 256 be the corresponding decryption algorithm.

Implement E and D in CBC-mode.

To check your answer, decrypt

[92, 34, 93, 75, 65, 66, 70, 66] with the key 26. Use utf-8 to decode the answer to a word.

Session 4 (Groups and CNT-mode)

  • More on random self-reducibility can be found in Boneh's and Shoup's book (Sec 10.5.1)
  • Implementation exercise: Implement the block cipher E in the previous in CNT-mode.

To check your answer, decrypt

[222, 170, 152, 145, 141, 153, 143, 155] with the key 26. use ASCII to decode the answer to a word.

  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment