Arvutiteaduse instituut
Courses.cs.ut.ee Arvutiteaduse instituut Tartu Ülikool
  1. Kursused
  2. 2025/26 kevad
  3. Kaasaegne krüptoloogia (MTAT.07.002)
EN
Logi sisse

Kaasaegne krüptoloogia 2025/26 kevad

  • 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.

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused