Kryptografia II stopień
Powiązania wykładu, ćwiczeń i laboratoriów. Od koncepcji do rachunku, dowodu i testu.
Sylabus i mapa nauki
Kryptografia, studia drugiego stopnia. Kurs obowiązkowy z egzaminem na kierunku informatyka algorytmiczna. Wykład: Łukasz Krzywiecki. Ćwiczenia i laboratorium: Marcin Słowik.
Karta przedmiotu · PDF · kod 04INA0-25S302O06228G · cykl kształcenia 2025/2026.
- Portable Document Format. Przenośny format dokumentu.
Wykład wprowadza mechanizm i jego założenia. Ćwiczenia prowadzą przez rachunek, atak lub dowód. Laboratorium przekłada wybrane konstrukcje na obliczenia i testy. Poniższa mapa łączy te trzy perspektywy. W oznacza rozdział wykładu, C listę ćwiczeń, a L listę laboratoryjną. Zapis C5.3 prowadzi do zadania 3 na liście C5. Numery są oznaczeniami materiałów, nie numerami tygodni.
Powiązania materiałów
Kolejność nauki. Zacznij od zapisu i losowania, schematu jako krotki algorytmów, a następnie modeli bezpieczeństwa i rozdziałów W1–W5. W6 wprowadza algebrę. Dalej poznajesz kolejno identyfikację, podpisy, uwierzytelnione ustalanie klucza i szyfrowanie publiczne. Rozdziały o obliczeniach rozproszonych i pogłębienia korzystają z tych podstaw. Indeks schematów łączy konstrukcje z ich analizą i zadaniami.
Listy łączą czasem kilka poziomów trudności. W L2 najpierw wykonaj atak na powtórzoną maskę. Do części o Schnorrze wróć po W6–W8 i podstawowej implementacji L3.1–2. W C11 interpolacja wymaga W13, a zadanie o zobowiązaniu wymaga również W14. Nie trzeba wykonywać całej listy w chwili poznania jej pierwszego tematu.
Bank zadań, nie plan obowiązków. Prowadzący ćwiczenia i laboratorium dobiera propozycje do poziomu grupy. Określa liczbę zadań, zakres implementacji, terminy i zasady zaliczenia zgodne z kartą przedmiotu. Zalecanym początkiem pracy implementacyjnej jest blok L0a o ciałach skończonych i krzywych, z rachunkowym przygotowaniem C0a. Obejmuje także warianty do wyboru. Nie trzeba wykonywać wszystkich rozszerzeń ani wszystkich list.
| Etap pracy w laboratorium | Potrzebny materiał | Następny krok |
|---|---|---|
| L0a: własna arytmetyka | C0a: ciała, krzywe i kodowanie, W6: grupy | GHASH i AES, Schnorr, DH, po odpowiednich rozdziałach wykładu |
| L2.1–2: powtórzona maska | W3: szyfr jednorazowy | L3.1–3: poprawna identyfikacja, po W6–W7 |
| L3.1–3: Schnorr i typy | W7: protokół Schnorra | L2.3–5: reset i ekstrakcja |
| L4: podpisy | L3.1–3 i W9: podpisy | L3.4–5: odpowiedź grupowa, po haszowaniu do grupy z L4.2 |
- AES
- Advanced Encryption Standard. Standard szyfrowania blokowego. Liczby 128, 192 i 256 oznaczają długości klucza w bitach.
- DH
- Diffie–Hellman. Nazwiska autorów metody uzgadniania wspólnego sekretu.
W ten sposób najpierw uruchamiasz poprawny mechanizm, potem zmieniasz model zagrożeń, a dopiero na końcu badasz modyfikację konstrukcji. Części pairingowej L3 nie trzeba kończyć przed rozpoczęciem L4.
20 ścieżek tematycznych · 40 rozdziałów wykładu · 20 list ćwiczeń · 15 list laboratoryjnych
Połączenie oznacza rozwinięcie tej samej koncepcji: od wyjaśnienia, przez samodzielny rachunek, do sprawdzenia. Nie jest kalendarzem zajęć ani listą dodatkowych wymagań egzaminacyjnych.
Przygotowanie algebraiczne · do wyboru
Ciała, krzywe i kodowanie
Budujesz własne działania algebraiczne, sprawdzasz przypadki wyjątkowe i uzgadniasz reprezentację danych przed implementacją schematu.
Ciało i reprezentacja wielomianowa
Wykład · pojęcie i mechanizmW6Odwrotność i EuklidesW6Wielomiany i nierozkładalnośćW6Bity i redukcjaW6Szybkie potęgowanieRezultat: Rozróżnienie ciała rozszerzonego i pierścienia modulo potęgi.
Punkty i przypadki wyjątkowe
Rezultat: Własne prawo grupowe oraz kontrola typu parametrów.
Jednoznaczne bajty
Wykład · pojęcie i mechanizmW6Kodowanie i kontrola punktówĆwiczenia · rachunek i argumentC0A.5Niejednoznaczna krotkaLaboratorium · wykonanie i testL0A.6Wspólny format i testyRezultat: Niezależne programy zgadzają się co do danych i działań.
Prowadzący wybiera zakres algebraiczny. Nie trzeba implementować wszystkich ciał i krzywych. Zastosowania wymagają dodatkowo odpowiednich rozdziałów o szyfrach, podpisach lub DH.
Wprowadzenie
Algorytmy, model i wyrocznie
Opisujesz schemat przez jego algorytmy. Odróżniasz poprawność od bezpieczeństwa i określasz cel przeciwnika.
Język przykładów
Wykład · pojęcie i mechanizmZapis, losowanie i rachunek na bitachZapis przed pierwszym eksperymentemĆwiczenia · rachunek i argumentC0Model i interpretacja zapytańLaboratorium · wykonanie i testL0Tabela odpowiedziRezultat: Bity, XOR, losowanie i prawdopodobieństwo warunkowe.
- XOR
- exclusive OR. Alternatywa wykluczająca. Wynik to 1 dokładnie wtedy, gdy dwa bity są różne.
Od algorytmów do gwarancji
Wykład · pojęcie i mechanizmAlgorytmyFunkcjonalność przed konstrukcjąLaboratorium · wykonanie i testL0.5Sekret wewnątrz usługi, wynik na zewnątrzRezultat: Wejścia i wyjścia, poprawne złożenie oraz osobny warunek nowego fałszerstwa.
Od zagrożenia do eksperymentu
Ćwiczenia · rachunek i argumentC0.1Usługa podpisującaC0.2Zapytania adaptacyjneC0.4Rozszerzony modelC0.5Zdarzenie sukcesuLaboratorium · wykonanie i testL0.5Oddzielny interfejs podpisywaniaRezultat: Model, cel przeciwnika i warunek wygranej.
Jedna funkcja, pamiętane odpowiedzi
Wykład · pojęcie i mechanizmModelePamięć wyroczni losowejĆwiczenia · rachunek i argumentC0.3Cztery pytania, trzy wejściaLaboratorium · wykonanie i testL0.1Pierwsze zapytanieL0.2Powtórzenie zapytaniaL0.3Nowe wejście i możliwa kolizjaL0.4Dokładne bajty wejściaRezultat: Tabela, która rozróżnia nowe i powtórzone wejście.
W1–W3
Tajność i losowość
Oddzielasz poprawne odszyfrowanie od tajności i potrafisz wskazać skutki ponownego użycia maski.
Od szyfrów historycznych do OTP
Ćwiczenia · rachunek i argumentC1.1Tajność doskonałaC1.2Obciążony kluczC1.3Dwa użycia OTPC1.4Liczba możliwych kluczyRezultat: Rachunek rozkładów i jawny atak po ponownym użyciu maski.
- OTP
- one-time pad. Szyfr z jednorazowym, losowym kluczem długości wiadomości.
Od generatora do redukcji
Wykład · pojęcie i mechanizmW2Definicje PRG i PRFW3OTP, następnie pierwsza redukcjaW3aW3a: pełny dowód metodą gierPogłębienie APogłębienie A: uwierzytelnione szyfrowanieĆwiczenia · rachunek i argumentC3.1Przewidywalny generatorC3.2Algorytm redukcjiC3.3Powtórzenie argumentu PRFC3.4Suma stratLaboratorium · wykonanie i testBez odrębnego zadania laboratoryjnego
Rezultat: Rozróżniacz, gry i koszt przejścia między nimi.
Najpierw W2–W3 i zadania C3.1–2, następnie W3a. Pełne pogłębienie A wymaga również W4–W5. Test generatora nie zastępuje redukcji.
- PRG
- pseudorandom generator. Generator pseudolosowy.
- PRF
- pseudorandom function. Funkcja pseudolosowa.
W4–W5
AES i integralność
Wyjaśniasz rolę rundy, trybu pracy i znacznika oraz poprawnie obsługujesz odrzucenie danych.
Własna arytmetyka w AES i GCM
Rezultat: Dwa różne ciała binarne, dwa różne zastosowania.
Przed tą opcjonalną ścieżką wykonaj wybrane zadania C0a i L0a o ciałach binarnych. Nie jest ona warunkiem użycia bibliotecznego AES-GCM w L1.1–5.
- GCM
- Galois/Counter Mode. Tryb Galois/licznikowy, łączący szyfrowanie ze sprawdzaniem integralności.
- AEAD
- Authenticated Encryption with Associated Data. Uwierzytelnione szyfrowanie z danymi dodatkowymi.
- AES-GCM
- Advanced Encryption Standard in Galois/Counter Mode. Szyfr AES w trybie Galois/licznikowym. AESGCM jest nazwą klasy w bibliotece, a 256 oznacza długość klucza.
Runda nie jest całym szyfrem
Wykład · pojęcie i mechanizmW4Runda AES i tryby pracyĆwiczenia · rachunek i argumentC2.1Atak na ECBC2.2Modyfikacja CBCC2.3Powtórzony licznik CTRC2.4PRP a PRFRezultat: Stany AES i atak na niewłaściwy sposób użycia szyfru.
- ECB
- Electronic Codebook. Tryb niezależnego szyfrowania bloków, tradycyjnie nazywany elektroniczną książką kodową.
- CBC
- Cipher Block Chaining. Tryb wiązania bloków szyfrogramu.
- CTR
- Counter mode. Tryb licznikowy.
- PRP
- pseudorandom permutation. Permutacja pseudolosowa.
Skrót nie uwierzytelnia nadawcy
Rezultat: Rozróżnienie hasza, MAC i poufności.
- HMAC
- Hash-based Message Authentication Code. Kod uwierzytelnienia wiadomości oparty na funkcji haszującej. Przyrostek SHA-256 wskazuje użyty hasz.
- AAD
- Additional Authenticated Data. Dodatkowe dane uwierzytelniane, ale nieszyfrowane.
- MAC
- Message Authentication Code. Kod uwierzytelnienia wiadomości, sprawdzany przy użyciu klucza.
Nowa wiadomość a nowy znacznik
Ćwiczenia · rachunek i argumentC4.5Definicja świeżego fałszerstwaLaboratorium · wykonanie i testBez odrębnego zadania laboratoryjnego
Rezultat: Różnica między zwykłą i silną niepodrabialnością.
Od ochrony rekordu do jej granic
Rezultat: Format danych i uzasadniona reguła unikalności nonce.
Laboratorium używa AES-GCM. Dowód Encrypt-then-MAC dotyczy osobnej konstrukcji, nie jest dowodem GCM.
- UTF-8
- Unicode Transformation Format, 8-bit. Kodowanie znaków Unicode za pomocą jednostek 8-bitowych. Jeden znak może wymagać kilku bajtów.
W6
Grupy i klucz publiczny
Kontrolujesz typy algebraiczne, role sekretu i klucza publicznego oraz problemy DL, CDH i DDH.
- DL
- discrete logarithm / discrete logarithm problem. Logarytm dyskretny / problem logarytmu dyskretnego.
- CDH
- Computational Diffie–Hellman. Obliczeniowy problem Diffiego–Hellmana.
- DDH
- Decisional Diffie–Hellman. Decyzyjny problem Diffiego–Hellmana.
Grupa, skalar i parowanie
Wykład · pojęcie i mechanizmW6Most algebraiczny i problemy trudneW7Przed zadaniami: przebieg SchnorraĆwiczenia · rachunek i argumentC5.1Typy w równaniu SchnorraLaboratorium · wykonanie i testL3.1Sekret, punkt i odpowiedźL3.2Publiczna weryfikacjaL3.3Kodowanie i kontrola typówRezultat: To samo równanie w notacji addytywnej i potęgowej.
W6 wprowadza działania. C5.1 i L3.1–3 wykorzystują dodatkowo protokół z W7.
W7, W8a
Identyfikacja i symulacja
Rozróżniasz przekonanie uczestniczącego weryfikatora, symulację zapisu i dowód dla osoby trzeciej.
Schnorr: poprawność i symulator
Wykład · pojęcie i mechanizmW7Symulacja i ekstrakcjaRezultat: Akceptacja transkryptu oraz osobny argument o rozkładzie.
- HVZK
- honest-verifier zero knowledge. Zerowa wiedza wobec uczciwego weryfikatora.
Kolejność komunikatów ma znaczenie
Wykład · pojęcie i mechanizmW8aSchnorr i Stinson–WuĆwiczenia · rachunek i argumentC10.5Weryfikator zna odpowiedźC10.6Ujawnienie losowości weryfikatoraC10.7Co zmienia Fiat–ShamirLaboratorium · wykonanie i testL10.1Dwie kolejności komunikatówL10.3Równanie a wyzwanie z haszaL10.4Błędny skrót i ujawnienieRezultat: Wiedza weryfikatora, zaprzeczalność i granice Fiat–Shamira.
W8 · pogłębienia
Reset, wyciek i urządzenie
Zapisujesz uprawnienia napastnika, odzyskujesz sekret w podatnym wariancie i wskazujesz granicę chronionej operacji.
Ten sam nonce, dwa wyzwania
Rezultat: Dwa zachowane transkrypty, ekstrakcja i test kontrolny.
Odpowiedź przeniesiona do grupy
Wykład · pojęcie i mechanizmW8Granica chronionego modułuĆwiczenia · rachunek i argumentC5.5Punkt nie jest skalarem kluczaRezultat: Równanie pairingowe i jawne założenia modelu urządzenia.
Atak a narzędzie dowodu
Wykład · pojęcie i mechanizmW9Najpierw podpis i cel fałszerzaPogłębienie BPogłębienie B: forkingOkamotoRedukcja OkamotoLaboratorium · wykonanie i testBez odrębnego zadania laboratoryjnego
Rezultat: Rozróżnienie fizycznego resetu od rewindingu redukcji.
Tę część rozpocznij po W9. Rewinding jest operacją symulatora w określonym dowodzie. Nie oznacza dodatkowego interfejsu rzeczywistego urządzenia.
Dalszy krok: samodzielna analiza wybranej publikacji i jawne opisanie jej modelu bezpieczeństwa.
W9 · pogłębienie B
Podpisy i redukcje
Łączysz podpis z wiadomością i kontekstem, a test równania odróżniasz od argumentu niepodrabialności.
Od własnej grupy do dwóch formatów podpisu
Ćwiczenia · rachunek i argumentC6.6Odzyskiwane zobowiązanieRezultat: To samo równanie Schnorra i jawny format danych.
Wariant dla osób realizujących L0a. Kodowanie i hasz muszą być uzgodnione, zanim porównasz implementacje.
Od identyfikacji do podpisu
Wykład · pojęcie i mechanizmW9Fiat–Shamir i cel podpisuĆwiczenia · rachunek i argumentC6.1Generowanie, podpis i weryfikacjaLaboratorium · wykonanie i testL4.1Podpis Schnorra i kodowanieRezultat: Jednoznaczny transkrypt i świeże fałszerstwo.
Hash do punktu nie jest jawnym skalarem
Wykład · pojęcie i mechanizmW9BLS i poprawne haszowanieW6Typy grup i parowanieW6Hash do skalaru a hash do punktuĆwiczenia · rachunek i argumentC6.4Atak na błędny haszLaboratorium · wykonanie i testL4.2Podpis BLSL4.3Negatywne przypadkiL4.4Dwa klucze z tym samym skalaremL4.5Osobny podatny wariantRezultat: Dodatnie i ujemne testy BLS oraz atak na błędny hasz.
- BLS
- Boneh–Lynn–Shacham. Nazwiska autorów schematu krótkich podpisów z pairingiem.
Redukcja musi obsłużyć zapytania
Wykład · pojęcie i mechanizmPogłębienie BProgramowanie wyroczni i forkLaboratorium · wykonanie i testBez odrębnego zadania laboratoryjnego
Rezultat: Symulator podpisów, zdarzenie przerwania i koszt ekstrakcji.
Dowód analizuje wszystkie dozwolone zapytania. Skończony zestaw testów implementacji pełni inną rolę.
W10 · pogłębienie C
Ustalanie klucza
Wyjaśniasz rolę podpisu, MAC i kontekstu oraz zapisujesz dopuszczalne ujawnienia stanu sesji.
Podstawowy DH i współpraca programów
Wykład · pojęcie i mechanizmW10DH przed uwierzytelnianiemĆwiczenia · rachunek i argumentC7.6Niepoprawny wkład i założenie DDHRezultat: Poprawność grupowa, kontrola parametrów i testy związania sesji.
Najpierw L0a i rachunek DH. Podpisy oraz MAC są potrzebne dopiero do zadania L5.7. Testy nie zastępują dowodu AKE.
- AKE
- Authenticated Key Exchange. Uwierzytelniona wymiana klucza.
Zgodny klucz to za mało
Wykład · pojęcie i mechanizmW10DH, SIGMA i NAXOSRezultat: Atak pośrednika i związanie tożsamości.
- SIGMA
- SIGn-and-MAc. Podejście łączące podpis cyfrowy i kod uwierzytelnienia wiadomości.
- NAXOS
- NAXOS. Nazwa własna protokołu uwierzytelnionej wymiany klucza, nie skrót rozwijany do angielskich słów.
- MITM
- man-in-the-middle attack. Atak pośrednika, który ingeruje w komunikację między stronami.
- HKDF
- HMAC-based Extract-and-Expand Key Derivation Function. Funkcja wyprowadzania kluczy oparta na HMAC, z etapami ekstrakcji i rozszerzania.
NAXOS: poprawność przed bezpieczeństwem
Wykład · pojęcie i mechanizmW10Mieszanie sekretu i zalążkaPogłębienie CPartnerowanie, świeżość i redukcjaRezultat: Zgodne krotki i mapa ujawnień eCK.
- eCK
- extended Canetti–Krawczyk. Rozszerzony model Canettiego–Krawczyka. Dopuszczalne ujawnienia określa jego definicja.
W10a
Szyfrowanie publiczne
Przechodzisz od wspólnego sekretu DH do Enc i Dec. Rozumiesz, dlaczego bezpieczeństwo CPA nie daje automatycznie bezpieczeństwa CCA.
- CPA
- chosen-plaintext attack. Atak z wybranym tekstem jawnym.
- CCA
- chosen-ciphertext attack. Atak z wybranym szyfrogramem.
ElGamal jako cztery algorytmy
Wykład · pojęcie i mechanizmW10aElGamal, Cramer–Shoup i szyfrowanie hybrydoweLaboratorium · wykonanie i testBez odrębnego zadania laboratoryjnego
Rezultat: Jawny atak z wyrocznią oraz redukcja CPA.
Przykład obliczeniowy i porównanie ataku z odrzuceniem znajdują się w W10a. Nie są odrębną listą laboratoryjną.
- KEM
- Key Encapsulation Mechanism. Mechanizm enkapsulacji klucza.
- DEM
- Data Encapsulation Mechanism. Mechanizm symetrycznej ochrony danych w szyfrowaniu hybrydowym.
W10b–W10c
RSA i tablica FDH
- RSA
- Rivest–Shamir–Adleman. Nazwiska autorów kryptosystemu z kluczem publicznym.
- FDH
- Full Domain Hash. Haszowanie o pełnej dziedzinie wyników.
Oddzielasz potęgowanie RSA, kodowanie standardowego schematu oraz programowanie hasza w dowodzie FDH.
Od arytmetyki do standardu
Wykład · pojęcie i mechanizmW10bRSA, OAEP i PSSĆwiczenia · rachunek i argumentC17.1Rachunek i CRTC17.2Ataki na surowe RSAC8.5Dlaczego kodowanie jest konieczneC17.3Bajty OAEPC17.4KodowanieLaboratorium · wykonanie i testL12.1OAEP i PSSL12.2Odrzucenie zmianyL12.3Osobne klucze i parametryL12.4190 oraz 191 bajtówRezultat: CRT, granica długości OAEP i testy RSA-PSS.
- OAEP
- Optimal Asymmetric Encryption Padding. Kodowanie wiadomości przed szyfrowaniem asymetrycznym.
- PSS
- Probabilistic Signature Scheme. Probabilistyczny schemat podpisu.
- CRT
- Chinese Remainder Theorem. Chińskie twierdzenie o resztach.
- RSA-PSS
- RSA Signature Scheme with Appendix, with Probabilistic Signature Scheme encoding. Podpis RSA z kodowaniem PSS. Wiadomość towarzyszy podpisowi, a nie jest z niego odzyskiwana.
Dwie różne redukcje
Ćwiczenia · rachunek i argumentC17.8Porównanie redukcjiLaboratorium · wykonanie i testBez odrębnego zadania laboratoryjnego
Rezultat: Odwrócenie RSA i ekstrakcja logarytmu mają inne kroki.
Podpis najpierw, hasz później
Wykład · pojęcie i mechanizmW10cPełna ścieżka redukcji FDHLaboratorium · wykonanie i testL12.5Prześledzenie symulatoraL12.6Powtarzalne odpowiedziL12.7Świadek poza redukcjąRezultat: Wspólna tabela, ukryta pozycja celu i ekstrakcja.
Dalszy krok: samodzielna analiza wybranej publikacji i jawne opisanie jej modelu bezpieczeństwa.
W10d–W10e · rozszerzenie
Logowanie i kontekst
Rozdzielasz weryfikację podpisu, świeżość transakcji i poprawne przypisanie tożsamości.
Passkey jest związany z witryną
Wykład · pojęcie i mechanizmW10dFIDO2 i WebAuthnĆwiczenia · rachunek i argumentC18.1Bajty odpowiedziC18.2Stara transakcjaC18.3Poprawność ECDSAC18.7Phishing i przechowywanie kluczaLaboratorium · wykonanie i testL13.1Podpis a akceptacjaL13.2Format danychL13.3Dokładne bajty JSONL13.4Format podpisuRezultat: Podpisane bajty i niezależne kontrole RP.
- FIDO2
- Fast IDentity Online. Rodzina standardów uwierzytelniania. FIDO2 łączy standard przeglądarkowy WebAuthn z protokołem CTAP.
- WebAuthn
- Web Authentication. Standard uwierzytelniania w aplikacjach internetowych z użyciem klucza publicznego.
- ECDSA
- Elliptic Curve Digital Signature Algorithm. Algorytm podpisu cyfrowego na krzywych eliptycznych.
- JSON
- JavaScript Object Notation. Tekstowy format zapisu danych strukturalnych.
- RP
- Relying Party. Usługa polegająca na wyniku uwierzytelnienia.
Poprawny podpis nie wystarcza
Ćwiczenia · rachunek i argumentC18.6Atak bez fałszowania podpisuLaboratorium · wykonanie i testBez odrębnego zadania laboratoryjnego
Rezultat: Bezpieczeństwo całego logowania zależy także od kanału i stanu.
Federacja wymaga właściwego odbiorcy
Wykład · pojęcie i mechanizmW10eSSO i OpenID ConnectRezultat: Przepływ kodu, PKCE i kontrola tokenu.
- SSO
- Single Sign-On. Jednokrotne logowanie wykorzystywane przez wiele usług.
- PKCE
- Proof Key for Code Exchange. Powiązanie wymiany kodu autoryzacyjnego z sekretem klienta.
Dalszy krok: samodzielna analiza wybranej publikacji i jawne opisanie jej modelu bezpieczeństwa.
W11
Anonimowość i zaprzeczalność
Uzasadniasz, co podpis ukrywa, a co może ujawniać transkrypt lub metadane.
Wiele możliwych świadków
Wykład · pojęcie i mechanizmW11Pierścień i anonimowośćLaboratorium · wykonanie i testBez odrębnego zadania laboratoryjnego
Rezultat: Równania dowodu OR i porównanie rozkładów.
C9.5 prowadzi do demonstratora HRS. W obecnym banku nie ma osobnej listy laboratoryjnej dla podpisów pierścieniowych.
- OR
- or. Lub, czyli alternatywa logiczna. To angielskie słowo, nie akronim. Dowód OR dotyczy spełnienia co najmniej jednej z podanych relacji.
- HRS
- hierarchical ring signatures. Hierarchiczne podpisy pierścieniowe.
Kto może odtworzyć rozmowę
Ćwiczenia · rachunek i argumentC9.4Metadane poza podpisemC10.1MAC a podpisC10.2Zapis bez udziału podpisującegoC10.3Różne cele ochronyC10.4Zakres symulacjiLaboratorium · wykonanie i testL10.5Role i granice modeluRezultat: Rozróżnienie anonimowości, zaprzeczalności i uwierzytelnienia.
W12–W12a
MPC, OT i obwody
- MPC
- Multi-Party Computation. Obliczenia wielostronne.
- OT
- Oblivious Transfer. Transfer utajniony. Odbiorca poznaje wybraną wartość, a nadawca nie poznaje jego wyboru.
Śledzisz, kto dostaje którą etykietę i co wolno ujawnić przez wynik obliczenia.
Funkcja jawna, wejścia prywatne
Ćwiczenia · rachunek i argumentC12.1Wynik ujawnia informacjęC12.2Indeksy wierszyC12.3Widok wykonawcyRezultat: Kontrakt OT, tabela prawdy i zaszyfrowane etykiety.
Zmieniony wiersz, zatrzymane obliczenie
Wykład · pojęcie i mechanizmW12aFree-XOR i half-gatesRezultat: Test integralności i osobna analiza kosztu komunikacji.
W13–W14
Udziały, próg i zobowiązania
Odtwarzasz rachunek na udziałach i odróżniasz prywatność, wykrywanie błędów oraz związanie wiadomości.
Sekret podzielony na udziały
Wykład · pojęcie i mechanizmW13Shamir i rozgłaszanie z wykluczaniemĆwiczenia · rachunek i argumentC11.1Pięć udziałówC11.2PrywatnośćC11.3Błędny udziałC11.4Drzewo wykluczeńLaboratorium · wykonanie i testBez odrębnego zadania laboratoryjnego
Rezultat: Interpolacja, tajność zbyt małej liczby udziałów i wykluczenie odbiorcy.
Demonstrator interpolacji jest na liście C11. L7 poniżej wykorzystuje udziały do innej funkcjonalności: protokołu progowego.
Wspólny podpis bez składania sekretu
Wykład · pojęcie i mechanizmW13aProgowy Schnorr i BLSĆwiczenia · rachunek i argumentC13.1Wagi interpolacjiC13.2Suma odpowiedziC13.3Symulator a widok koordynatoraC13.4Reset udziałuC13.5Progowy BLSLaboratorium · wykonanie i testL7.1Podzbiory uczestnikówL7.2Błędna odpowiedźL7.3Odzyskanie udziałuL7.4Publiczny weryfikatorL7.5Czego brakuje do FROSTRezultat: Odpowiedzi częściowe, wagi i granice modelu koordynatora.
- FROST
- Flexible Round-Optimized Schnorr Threshold. Elastyczny progowy protokół Schnorra ze zoptymalizowaną liczbą rund.
Ukrywanie to nie związanie
Wykład · pojęcie i mechanizmW14Zobowiązania i znany logarytmĆwiczenia · rachunek i argumentC11.5Dowód ukrywania i ekstrakcjaLaboratorium · wykonanie i testBez odrębnego zadania laboratoryjnego
Rezultat: Dwa otwarcia Pedersena i znaczenie parametrów.
Przykład dwóch otwarć liczy demonstrator Pedersena w W14. Lista C11 zawiera również osobny eksperyment interpolacji.
Dalszy krok: samodzielna analiza wybranej publikacji i jawne opisanie jej modelu bezpieczeństwa.
W14a–W14b
Reenkrypcja i miksy
Rozróżniasz zmianę losowości, zmianę odbiorcy i ukrycie przyporządkowania wiadomości.
Nowa losowość lub nowy odbiorca
Wykład · pojęcie i mechanizmW14aRerandomizacja i delegacjaĆwiczenia · rachunek i argumentC16.1Rozkład nowej losowościC16.2Klucz delegacji BBSC16.3Typy AFGHC16.4Zdolność odczytuRezultat: Typy ElGamala, BBS i AFGH oraz skutki koluzji.
- BBS
- Blaze–Bleumer–Strauss. Nazwiska autorów omawianej reenkrypcji. Nie chodzi o generator Blum–Blum–Shub.
- AFGH
- Ateniese–Fu–Green–Hohenberger. Nazwiska autorów omawianego schematu reenkrypcji z pairingiem.
Deszyfrowanie nie jest testem autentyczności
Wykład · pojęcie i mechanizmW14aDeszyfrowanie i zakres gwarancjiĆwiczenia · rachunek i argumentBez odrębnego zadania ćwiczeniowego
Laboratorium · wykonanie i testL11.4Nieprawidłowy sekretRezultat: Błędny klucz może dać element grupy zamiast jawnego błędu.
Partia musi zachować wiadomości
Wykład · pojęcie i mechanizmW14bCo ukrywa sieć miksującaRezultat: Permutacja, rerandomizacja i relacja dla dowodu shuffle.
Dalszy krok: samodzielna analiza wybranej publikacji i jawne opisanie jej modelu bezpieczeństwa.
W16 · rozszerzenie
Obliczenia na szyfrogramach
Sprawdzasz zgodność typów i zakresu obliczenia bez utożsamiania poufności z poprawnym wykonaniem zadania.
Dwie grupy źródłowe, jeden poziom mnożenia
Wykład · pojęcie i mechanizmW16Suma, iloczyn i dekodowanieĆwiczenia · rachunek i argumentC14.1Wyrazy w wykładnikuC14.2Dodawanie w grupie docelowejC14.3Zakres wynikuLaboratorium · wykonanie i testL8.1Przypadki brzegoweL8.2Wejście wykonawcyL8.3Odrzucenie złych typówRezultat: Rozwinięte równanie deszyfrowania i kontrolowany odczyt wyniku.
Zaszyfrowany wynik może dotyczyć innego zadania
Wykład · pojęcie i mechanizmW16Granice gwarancjiRezultat: Osobne cele: ukrywanie wejść i poprawność usługi.
W17–W18 · rozszerzenie
Koszt i krótkie dowody
Oddzielasz koszt dowodzenia, weryfikacji, komunikacji i przygotowania danych.
Przebieg zależny od bitów
Ćwiczenia · rachunek i argumentC15.6Długość i waga wykładnikaLaboratorium · wykonanie i testL9.6Square-and-multiply i drabinkaRezultat: Licznik działań i pomiar czasu odpowiadają na inne pytania.
Do tego samodzielnego zadania wystarcza potęgowanie z L0a. Nie wymaga implementacji obwodów ani szyfrowania homomorficznego.
Funkcjonalność ma policzalny koszt
Ćwiczenia · rachunek i argumentC15.1Koszt BLS i SchnorraLaboratorium · wykonanie i testL9.1Warunki pomiaruL9.2MedianyL9.3Estymacja i pełne wywołanieL9.4Bajty i rundyRezultat: Operacje grupowe, rozmiary i powtarzalny pomiar.
Krótki argument nie usuwa pracy dowodzącego
Laboratorium · wykonanie i testL9.5Czego benchmark nie sprawdzaRezultat: Relacja, świadek i koszt przetworzenia wejścia.
L9 uczy metodologii pomiaru, nie implementuje SNARK-a.
- SNARK
- Succinct Non-interactive Argument of Knowledge. Zwięzły nieinteraktywny argument wiedzy.
Dalszy krok: samodzielna analiza wybranej publikacji i jawne opisanie jej modelu bezpieczeństwa.
W15
Kryptografia postkwantowa
Rozróżniasz KEM, podpis i ochronę danych oraz wskazujesz, które elementy stosu wymagają zmiany.
Błąd chroni, lecz nie może zniszczyć odczytu
Wykład · pojęcie i mechanizmW15Zagrożenie kwantowe, LWE i KEMLaboratorium · wykonanie i testBez odrębnego zadania laboratoryjnego
Rezultat: Mały rachunek LWE i zakres jego interpretacji.
W W15 jest mały przykład liczbowy. Nie jest implementacją ML-KEM ani zestawem bezpiecznych parametrów. Osobnej listy laboratoryjnej PQC tutaj nie ma.
- LWE
- Learning With Errors. Problem uczenia z błędami, związany z równaniami zaburzonymi szumem.
- ML-KEM
- Module-Lattice-Based Key-Encapsulation Mechanism. Mechanizm enkapsulacji klucza oparty na kratach modułowych. ML oznacza tu kraty modułowe, a nie uczenie maszynowe.
- PQC
- Post-Quantum Cryptography. Kryptografia postkwantowa.
Dalszy krok: samodzielna analiza wybranej publikacji i jawne opisanie jej modelu bezpieczeństwa.
Pogłębienie D
UC i składanie protokołów
- UC
- Universal Composability. Uniwersalna kompozycyjność, czyli formalna analiza bezpieczeństwa przy składaniu protokołów.
Budujesz funkcjonalność idealną i symulator, a następnie sprawdzasz interfejsy oraz założenia kompozycji.
Usługa idealna i rzeczywisty widok
Laboratorium · wykonanie i testBez odrębnego zadania laboratoryjnego
Rezultat: Role środowiska, przeciwnika i symulatora.
Przykład UC 1 zawiera animację porównującą oba światy. Wskazane ćwiczenia przygotowują do UC, ale same nie są zadaniami z dowodzenia UC.
Zastąpienie zasobu i kompozycja
Ćwiczenia · rachunek i argumentC7.1Przygotowanie: brak uwierzytelnieniaC3.4Przygotowanie: suma stratLaboratorium · wykonanie i testBez odrębnego zadania laboratoryjnego
Rezultat: Redukcja DDH, suma przewag i kontrola modelu.
Warsztat UC 3 ma własne pytania kontrolne i kontrprzykłady. Nie dopisujemy go do obowiązkowego banku laboratoriów.
Dalszy krok: samodzielna analiza wybranej publikacji i jawne opisanie jej modelu bezpieczeństwa.
Organizacja i zakres
| Forma zajęć | Godziny | Udział w ocenie | Sposób zaliczenia |
|---|---|---|---|
| Wykład | 30 | 50% | Egzamin |
| Ćwiczenia | 30 | 25% | Aktywność i kartkówki |
| Laboratorium | 15 | 25% | Zadania programistyczne |
5 ECTS. Łączny nakład pracy wynosi 125 h: 75 h zajęć, 16 h przygotowania do zajęć, 30 h przygotowania projektu oraz 4 h zaliczenia lub egzaminu.
- ECTS
- European Credit Transfer and Accumulation System. Europejski system transferu i akumulacji punktów zaliczeniowych.
Zakres sylabusa. Tematy W1–W15 odpowiadają piętnastu blokom wykładowym karty przedmiotu. C1–C11 rozwijają jej tematykę ćwiczeń. L1–L5 odpowiadają pięciu obszarom laboratorium. Wprowadzenia, podrozdziały z literą oraz dalsze listy uzupełniają ten materiał. Rozszerzenie może pogłębiać temat sylabusa, ale nie staje się przez to osobnym obowiązkiem egzaminacyjnym.
Wymagania i wybór. Zakres zaliczenia wynika z karty przedmiotu i ustaleń prowadzącego. Wybór zadań, ich liczbę, zakres oraz terminy podaje prowadzący danej formy zajęć. Materiały rozszerzone służą również samodzielnej nauce i przygotowaniu do pracy magisterskiej lub badań. Mapa nie ustala dodatkowych godzin ani punktacji.
Przygotowanie. Wymagana jest standardowa znajomość algebry abstrakcyjnej, algorytmów i struktur danych, rachunku prawdopodobieństwa oraz złożoności obliczeniowej. Wprowadzenie do modeli i wyroczni nie zakłada wcześniejszego ukończenia wybieralnego kursu kryptografii.
Co potrafisz wykazać po pracy z materiałem
Poniższe powiązania są przewodnikiem po materiałach wspierających efekty z karty przedmiotu. Nie zastępują kryteriów oceniania ani pełnego brzmienia efektów w sylabusie.
| Efekty z karty | Umiejętność widoczna w pracy studenta | Przykładowa ścieżka |
|---|---|---|
| PEU_W01, PEU_W03 | Wyjaśnienie mechanizmu, zagrożenia i granic jego ochrony | Model i wyrocznie, reset i wyciek |
| PEU_W02, PEU_U02 | Poprawny rachunek z kontrolą typów i interpretacją wyniku | Grupy i klucz publiczny, udziały i próg |
| PEU_U01, PEU_U03 | Konstrukcja, uzasadnienie i test negatywny dobrany do wymagania | AES i integralność, ustalanie klucza |
| PEU_K01, PEU_K02, PEU_K03 | Uzasadniony wybór zabezpieczenia oraz świadomość ataków i założeń | Logowanie i kontekst, koszt i krótkie dowody |
Dobry rezultat łączy model, rachunek i wniosek. Działający przykład sprawdza obliczenie. Test negatywny ujawnia konkretny błąd. Dowód uzasadnia twierdzenie dla określonej klasy przeciwników. Te trzy rodzaje argumentów wzajemnie się uzupełniają, ale nie zastępują.
Źródło organizacyjne: karta przedmiotu, s. 1–4. Odnośniki do publikacji i standardów znajdują się przy odpowiednich rozdziałach wykładu.