Big Data Infrastructure – kostenloser Kurs der School of Data Analysis, 4 Semester, Datum: 5. Dezember 2023.
Verschiedenes / / December 08, 2023
Für alle, die Algorithmen lieben, mit Daten arbeiten und Spaß am Programmieren haben, ihr Leben aber nicht mit maschinellem Lernen verbinden möchten.
Algorithmen, Programmierung, Design von Dateisystemen, Festplatten, Netzwerken und Prozessoren sowie verteilten Systemen.
Bei der Erstellung und Unterstützung effizienter und zuverlässiger verteilter Systeme zur Speicherung und Verarbeitung großer Datenmengen.
Jeder Studierende muss im Laufe des Semesters mindestens drei Lehrveranstaltungen erfolgreich absolvieren. Wenn es beispielsweise im Hauptprogramm zwei davon gibt, müssen Sie sich für einen der Spezialkurse entscheiden.
Die Wissensüberprüfung erfolgt vor allem durch Hausaufgaben – Prüfungen und Tests werden nur in einigen Fächern durchgeführt.
Erstes Semester
Obligatorisch
Algorithmen und Datenstrukturen, Teil 1
01 Komplexität und Rechenmodelle. Analyse buchhalterischer Werte (Anfang)
02 Analyse buchhalterischer Werte (Ende)
03 Merge-Sort- und Quick-Sort-Algorithmen
04 Ordinalstatistik. Haufen (Anfang)
05 Haufen (Ende)
06 Hashing
07 Suchbäume (Anfang)
08 Suchbäume (Fortsetzung)
09 Suchbäume (Ende). System disjunkter Mengen
10 Ziele von RMQ und LCA
11 Datenstrukturen für die geometrische Suche
12 Problem der dynamischen Konnektivität in einem ungerichteten Graphen
Computerarchitektur und Betriebssysteme
01 UNIX und Programmierung in C: Kommandozeile, Prozesssteuerung, Kanäle, Signale. Implementierung einer Kommandozeilen-Shell.
02 x86-Assembler: Arithmetik, Übergänge, Bedingungen und Funktionsaufrufe. Stapel, den Stapel nach oben verschieben.
03 Verknüpfung von Programmen und dem ELF-Format. Dynamische Verlinkung.
04 Das Konzept des Kontexts und des Ausführungsflusses. Implementieren von Lightweight-Threads.
05 Präventives Multitasking: Unterstützung durch den x86-Prozessor und Implementierung von Prozessen im UNIX-Kernel.
06 Multi-Core-Architektur: Cache-Kohärenz und Speichermodelle. Synchronisationsprimitive in Multithread-Programmen.
07 Scheduling-Prozesse auf einem Kern und auf mehreren Kernen.
08 Externer Speicher: Festplatten und Solid-State-Laufwerke. Funktionsprinzipien von Dateisystemen.
09 Virtualisierung: Hardware und Software. Binäre Übertragung.
C++-Sprachtraining, Teil 1
C++ ist eine leistungsstarke Sprache mit einem reichen Erbe. Für diejenigen, die sich gerade erst auf den Weg gemacht haben, diese Sprache zu beherrschen, ist es sehr leicht, sich in der Fülle an Techniken und Techniken zu verlieren, die in den letzten 30 Jahren entwickelt wurden. Der Kurs vermittelt „Modern C++“ – eine moderne Teilmenge der Sprache (Standards 11, 14 und 17). Großes Augenmerk wird auf Tools und Bibliotheken gelegt – Dinge, die nicht Teil der Sprache sind, ohne die es aber nicht möglich sein wird, ein großes und komplexes Projekt aufzubauen.
01 Einführung in C++.
02 Konstanten. Hinweise und Links. Übergabe von Argumenten an eine Funktion.
03 Klassen.
04 Dynamische Speicherverwaltung.
05 Variablen, Zeiger und Referenzen.
06 Speicherverwaltung, Smart Pointer, RAII.
07 Standardvorlagenbibliothek.
08 Vererbung und virtuelle Funktionen.
09 Fehlerbehandlung.
10 Designmuster.
11 Namespaces Semantik verschieben Perfekte Weiterleitung.
12 Darstellung von Strukturen und Klassen im Gedächtnis. Datenausrichtung. Zeiger auf Klassenmitglieder/Methoden. Variadische Vorlagen.
Zweites Semester
Obligatorisch
Algorithmen und Datenstrukturen, Teil 2
01 Bypass in der Breite. Tiefendurchquerung (Start)
02 Tiefendurchquerung (Fortsetzung)
03 Durchquerung in die Tiefe (Ende). 2 Schnitte
04 Kürzeste Wege finden (Anfang)
05 Kürzeste Wege finden (Fortsetzung)
06 Mindestspannbäume
07 Minimale Schnitte. Suche nach Teilzeichenfolgen (Start)
08 Suche nach Teilstrings (Fortsetzung)
09 Suche nach Teilzeichenfolgen (Ende)
10 Suffixbäume (Anfang)
11 Suffixbäume (Ende). Suffix-Arrays (Start)
12 Suffix-Arrays (Ende)
13 Längste gemeinsame Teilzeichenfolgen. Ungefähre Teilzeichenfolgensuche.
C++-Sprachtraining, Teil 2
Der zweite Teil des C++-Kurses, der fortgeschrittene Themen und Sprachkenntnisse behandelt.
01 Multithread-Programmierung. Threads mithilfe von Mutexes und Bedingungsvariablen synchronisieren.
02 Atomare Variablen. C++-Speichermodell. Beispiele für sperrenfreie Datenstrukturen.
03 Fortgeschrittene Metaprogrammierungstechniken in C++. Metafunktionen, SFINAE, Konzepte.
04 Wettbewerbsorientierte Programmierung, Interaktion mit dem Netzwerk.
05 llvm-Architektur. Arbeiten mit dem C++-Analysebaum. Entwicklung von Tools zur Analyse von C++-Code.
Zur Auswahl
Theorie und Praxis der Parallelität
Der Kurs widmet sich konkurrierenden Systemen und Aufgaben im weitesten Sinne: vom Grad des Wettbewerbs zwischen Prozessorkernen um das Schreiben bis hin zu einer Zelle Speicher für verteilte Systeme, die ihren Zustand fehlertolerant und konsistent auf mehreren Servern replizieren möchten.
01 https://gitlab.com/Lipovsky/shad-tpcc-course-2019/blob/master/lectures/syllabus.md
oder
Geh zur Sprache
01 Einführung. Kursprogramm. Berichterstattung über den Kurs, Bewertungskriterien. Design-Philosophie. wenn, wechseln, für. Hallo Welt. Kommandozeilenargumente. Wortzahl. Animiertes GIF. URL wird abgerufen. URL wird gleichzeitig abgerufen. Webserver. Tour von Go. Lokales IDE-Setup. gofmt. goimports. Flusen
02 Grundlegende Sprachstrukturen. Namen, Deklarationen, Variablen, Zuweisungen. Typdeklarationen. Pakete und Dateien. Umfang. Nullwert. Speicherzuweisung. Stapel vs. Heap. Grundlegende Datentypen. Konstanten. Zusammengesetzte Datentypen. Arrays. Scheiben. Karten. Strukturen. JSON. Text/Vorlage. Zeichenfolge und []Byte. Arbeiten mit Unicode. Unicode-Ersatzzeichen. Funktionen. Funktionen mit variabler Anzahl von Argumenten. Anonyme Funktionen. Fehler.
03 Methoden. Wertempfänger vs. Zeigerempfänger. Einbetten. Methodenwert. Verkapselung. Schnittstellen. Schnittstellen als Verträge. io. Schriftsteller, io. Reader und ihre Implementierungen. Sortieren. Schnittstelle. Fehler. http. Handler. Schnittstellen als Aufzählungen. Geben Sie Behauptung ein. Typschalter. Je größer die Schnittstelle, desto schwächer die Abstraktion. Fehlerbearbeitung. in Panik geraten, aufschieben, sich erholen. Fehler.{Unwrap, Is, As}. fmt. Fehlerf. %w.
04 Goroutinen und Kanäle. Uhrserver. Echo-Server. Kanalgröße. Blockierendes und nicht blockierendes Lesen. select-Anweisung. Kanalaxiome. Zeit. Nach. Zeit. NewTicker. Pipeline-Muster. Stornierung. Parallelschleife. synchronisieren. Wartegruppe. Fehlerbehandlung im parallelen Code. Fehlergruppe. Gruppe. Gleichzeitiger Webcrawler. Gleichzeitige Verzeichnisdurchquerung.
05 Erweiterte Tests. Untertests. testen. B. (T).Logf. (T).Skipf. (T).FailNow. testen. Short(), Flags testen. Erzeugung von Mocks. bezeugen/{erfordern, behaupten}. aussagen/suite. Testvorrichtung. Integrationstests. Goroutine-Lecksucher. TestingMain. Abdeckung. Vergleich von Benchmarks.
06 Erweiterte Tests. Untertests. testen. B. (T).Logf. (T).Skipf. (T).FailNow. testen. Short(), Flags testen. Erzeugung von Mocks. bezeugen/{erfordern, behaupten}. aussagen/suite. Testvorrichtung. Integrationstests. Goroutine-Lecksucher. TestingMain. Abdeckung. Vergleich von Benchmarks.
07 Paketkontext. Übergeben von anforderungsbezogenen Daten. http-Middleware. chi. Router. Abbruch anfordern. Erweiterte Parallelitätsmuster. Asynchroner Cache. Ordentliches Herunterfahren des Servers. Kontext. WithTimeout. Stapeln und Stornieren.
08 Datenbank/SQL, SQLX, Arbeiten mit Datenbanken, Redis.
09 Reflexion. reflektieren. Geben Sie ein und reflektieren Sie. Wert. Struktur-Tags. net/rpc. Kodierung/gob. synchronisieren. Karte. reflektieren. DeepEqual.
10 Paket-Io-, Reader- und Writer-Implementierungen aus der Standardbibliothek. Low-Level-Programmierung. unsicher. Paket binär. Bytes. Puffer. cgo, Systemaufruf.
11 GC-Architektur. Schreibbarriere. Stapelwachstum. GC-Pause. GOGC. synchronisieren. Schwimmbad. Goroutine-Planer. GOMACPROCS. Durchgesickerte Threads.
12 Gehen Sie zum Werkzeugbau. pprof. CPU- und Speicherprofilierung. Cross-Compilation. GOOS, GOARCH. CGO_ENABLED=0. Erstellen Sie Tags. Go-Module. godoc. x/Analyse. Codegenerierung.
13 Nützliche Bibliotheken. CLI-Anwendungen mit Cobra. Protobuf und GRPC. Zap-Protokollierung.
Drittes Semester
Obligatorisch
Algorithmen im externen Speicher
Der Kurs führt die Studierenden in die Grundprinzipien der Konstruktion von Algorithmen für die Arbeit mit Daten ein, die nicht in den Arbeitsspeicher des Computers passen.
01 Algorithmen im externen Speicher.
02 Cache-vergessene Algorithmen.
03 Algorithmen zur Stream-Datenverarbeitung.
Verteilte Systeme
Empfohlene Spezialkurse
Stärke kryptografischer Systeme
01 Grundlegende Ansätze und Prinzipien der modernen Kryptographie. Das Gegnermodell, Formalisierung des Stärkekonzepts, das Problem der Stärkebewertung und damit verbundene Probleme, Einteilung in Grundelemente und Protokolle, Phasen des „Lebens“ eines kryptografischen Systems.
02 Vertraulichkeit. Alltagsdefinitionen von Vertraulichkeit, Ansätze zur Formalisierung (informationstheoretisches Feindmodell, Modelle KR, PR, LOR, ROR, IND, CPA, CCA), symmetrisches Verschlüsselungssystem, Anwendung komplexitätstheoretischer Informationen zur Bestimmung der Beziehung zwischen Modelle. Beziehungen zwischen grundlegenden Gegnermodellen zur Beurteilung der Stärke von Verschlüsselungssystemen.
03 Ansätze zum Aufbau von Verschlüsselungssystemen. Von Grund auf neu bauen. Konstruktionen basierend auf Blockchiffren, Definition einer Blockchiffre, Hauptmerkmale, Konstruktionsansätze und Eigenschaften. Modelle PRP und PRF. Das Paradox des Geburtstagsproblems. Lemma zum Zusammenhang zwischen Widerstand im PRF- und PRP-Modell.
04 Verschlüsselungsmodi. Grundlegende Verschlüsselungsmodi: ECB, CBC, CFB, OFB, CTR. Grundlegende Leistungseigenschaften. Dauerhaftigkeit der CTR bei LOR-CPA, Instabilität der ECB bei LOR-CPA. Instabilität der Grundmoden in CCA-Modellen.
05 Integrität. Definition des Konzepts der Integrität. Ansätze zur Formalisierung (UF-CMA-Modell, Modelle basierend auf der Diskriminierungsaufgabe, PRF-Modell). Nachrichtenauthentifizierungscodes und Funktionen zur Generierung nachgeahmter Einfügungen. Designs basierend auf Blockchiffren: CBC-MAC, XCBC, TMAC, OMAC. Anfällige Modi.
06 Hash-Funktionen. Definition, grundlegende Eigenschaften, Konstruktionsansätze, Formalisierung und damit verbundene Probleme. Beispiele für die Verwendung von Hash-Funktionen: Passwort-Hashing, Entropie-Extraktion. Konstruieren von Kollisionen und Vorbildern aus Mengen niedriger Kardinalität.
07 HMAC-, KDF-, PRF-, DRNG-Schaltkreise. HMAC-Diagramm, grundlegende Schritte zum Erhalten der Widerstandsbewertung. Schlüsseldiversifizierung und das Prinzip der Schlüsseltrennung, KDF- und PRF-Systeme. Pseudozufallsgenerator, DRNG-Schaltungen.
08 Schlüssellast. Problem mit der Tastenlast. Die wichtigsten Methoden zur Entlastung eines Schlüssels sind externe und interne Schlüsselkonvertierungen. Parallele und serielle Umschlüsselungsschemata, grundlegende Eigenschaften. Schlüsselbaum. Interner Schlüsselwechsel und CTR-ACPKM-Modus.
09 Verschlüsselung mit Nachahmungsschutz. Problem Formulierung. Allgemeine Strukturen (EtA, AtE, A&E) und ihre Eigenschaften. Beispiele für anfällige Modi zur Gewährleistung von Vertraulichkeit und Integrität mithilfe eines einzigen Schlüssels. AEAD-Verschlüsselungsmodi: GCM, MGM.
10 Sicherer Kommunikationskanal. Das Konzept eines sicheren Kommunikationskanals: Kanaltypen, grundlegende Eigenschaften (Integrität und Vertraulichkeit des Datenflusses). Beispiele für anfällige Protokolle. Zeichnen Sie das TLS 1.3-Protokoll auf.
Viertes Semester
Zur Auswahl
Theorie und Praxis der Parallelität
Der Kurs widmet sich konkurrierenden Systemen und Aufgaben im weitesten Sinne: vom Grad des Wettbewerbs zwischen Prozessorkernen um das Schreiben bis hin zu einer Zelle Speicher für verteilte Systeme, die ihren Zustand fehlertolerant und konsistent auf mehreren Servern replizieren möchten.
01 https://gitlab.com/Lipovsky/shad-tpcc-course-2019/blob/master/lectures/syllabus.md
oder
Geh zur Sprache
01 Einführung. Kursprogramm. Berichterstattung über den Kurs, Bewertungskriterien. Design-Philosophie. wenn, wechseln, für. Hallo Welt. Kommandozeilenargumente. Wortzahl. Animiertes GIF. URL wird abgerufen. URL wird gleichzeitig abgerufen. Webserver. Tour von Go. Lokales IDE-Setup. gofmt. goimports. Flusen
02 Grundlegende Sprachstrukturen. Namen, Deklarationen, Variablen, Zuweisungen. Typdeklarationen. Pakete und Dateien. Umfang. Nullwert. Speicherzuweisung. Stapel vs. Heap. Grundlegende Datentypen. Konstanten. Zusammengesetzte Datentypen. Arrays. Scheiben. Karten. Strukturen. JSON. Text/Vorlage. Zeichenfolge und []Byte. Arbeiten mit Unicode. Unicode-Ersatzzeichen. Funktionen. Funktionen mit variabler Anzahl von Argumenten. Anonyme Funktionen. Fehler.
03 Methoden. Wertempfänger vs. Zeigerempfänger. Einbetten. Methodenwert. Verkapselung. Schnittstellen. Schnittstellen als Verträge. io. Schriftsteller, io. Reader und ihre Implementierungen. Sortieren. Schnittstelle. Fehler. http. Handler. Schnittstellen als Aufzählungen. Geben Sie Behauptung ein. Typschalter. Je größer die Schnittstelle, desto schwächer die Abstraktion. Fehlerbearbeitung. in Panik geraten, aufschieben, sich erholen. Fehler.{Unwrap, Is, As}. fmt. Fehlerf. %w.
04 Goroutinen und Kanäle. Uhrserver. Echo-Server. Kanalgröße. Blockierendes und nicht blockierendes Lesen. select-Anweisung. Kanalaxiome. Zeit. Nach. Zeit. NewTicker. Pipeline-Muster. Stornierung. Parallelschleife. synchronisieren. Wartegruppe. Fehlerbehandlung im parallelen Code. Fehlergruppe. Gruppe. Gleichzeitiger Webcrawler. Gleichzeitige Verzeichnisdurchquerung.
05 Erweiterte Tests. Untertests. testen. B. (T).Logf. (T).Skipf. (T).FailNow. testen. Short(), Flags testen. Erzeugung von Mocks. bezeugen/{erfordern, behaupten}. aussagen/suite. Testvorrichtung. Integrationstests. Goroutine-Lecksucher. TestingMain. Abdeckung. Vergleich von Benchmarks.
06 Parallelität mit Shared Memory. synchronisieren. Mutex. synchronisieren. RWMutex. synchronisieren. Kond. atomar synchronisieren. Einmal. Rassendetektor. Asynchroner Cache. Arbeiten mit der Datenbank. Datenbank/SQL. sqlx.
07 Paketkontext. Übergeben von anforderungsbezogenen Daten. http-Middleware. chi. Router. Abbruch anfordern. Erweiterte Parallelitätsmuster. Asynchroner Cache. Ordentliches Herunterfahren des Servers. Kontext. WithTimeout. Stapeln und Stornieren.
08 Datenbank/SQL, SQLX, Arbeiten mit Datenbanken, Redis.
09 Reflexion. reflektieren. Geben Sie ein und reflektieren Sie. Wert. Struktur-Tags. net/rpc. Kodierung/gob. synchronisieren. Karte. reflektieren. DeepEqual.
10 Paket-Io-, Reader- und Writer-Implementierungen aus der Standardbibliothek. Low-Level-Programmierung. unsicher. Paket binär. Bytes. Puffer. cgo, Systemaufruf.
11 GC-Architektur. Schreibbarriere. Stapelwachstum. GC-Pause. GOGC. synchronisieren. Schwimmbad. Goroutine-Planer. GOMACPROCS. Durchgesickerte Threads.
12 Gehen Sie zum Werkzeugbau. pprof. CPU- und Speicherprofilierung. Cross-Compilation. GOOS, GOARCH. CGO_ENABLED=0. Erstellen Sie Tags. Go-Module. godoc. x/Analyse. Codegenerierung.
13 Nützliche Bibliotheken. CLI-Anwendungen mit Cobra. Protobuf und GRPC. Zap-Protokollierung.
oder
Datenbank
01 Schnittstellen moderner Datenbanken: relational, Schlüsselwert, Dokument, Diagramm. Relationale Algebra und SQL-Sprache.
02 Arbeiten mit der Festplatte im klassischen relationalen DBMS: Seiten, Seitenpool, Entfernung aus dem Pool.
03 Ausführen von SQL-Abfragen: Ausdrucksanalyse, Planung, Ausführung. Interpretation und Codegenerierung mit LLVM.
04 Indizes in relationalen DBMS: Indextypen, Speichermethoden, Verwendung in Abfragen.
05 Transaktionen: ACID-Akronym, Isolationsstufen, Implementierung von Transaktionen durch Sperren und MVCC.
06 Notfallwiederherstellung: Protokoll, Prüfpunkte, ARIES-Algorithmus.
07 Datenspeicherung mit der Log-Structured Merge Tree-Methode.
08 Spaltenbasiertes DBMS: Vorteile, Funktionen, Datenkomprimierungsalgorithmen.
09 Verteiltes DBMS: Sharding, Transaktionen, Abfrageausführung.
10 DBMS im Hauptspeicher. Datenstrukturen für In-Memory-Indizes.
oder
Computernetzwerke
01 Einführung in Netzwerktechnologien. Die Geschichte von Netzwerken, Netzwerkprotokollen, Organisation der Netzwerkinteraktion in einem Peer-to-Peer-Netzwerk und die Verbindung von Peer-to-Peer-Netzwerken untereinander.
02 Transport. OSI/ISO-Netzwerkmodell. TCP, Netzwerkverbindungsaufbau, Vergleich von TCP und UDP. Tcpdump-Analyse – Bytes im Flug, überträgt Diagramme erneut. Methoden zur Steuerung des Datenflusses in einer TCP-Sitzung. Verschiedene Arten von TCP-Sitzungen und Bandbreitenverwaltung übertragener Daten in Paketnetzwerken.
03 Routenführung. Das Konzept des Routings in Netzwerken. Statisches und dynamisches Routing. Grundlagen des dynamischen Routings. Dynamisches Routing-Protokoll – OSPF. Distanzvektor-Routing-Protokolle. Überblick über das BGP-Routing-Protokoll – Nachrichtentypen, BGP-Attribute, Auswahl der optimalen Route in BGP.
04 So funktioniert das Internet: BGP und DNS. Internet-Routing. Überblick über das DNS-Protokoll.
05 Netzwerke in großen Rechenzentren. Merkmale der Architektur von Rechenzentrumsnetzwerken. Anforderungen an Rechenzentrumsnetzwerke. CLOS-Architektur für Rechenzentrumsnetzwerke.
06 Verzögerungen in Netzwerken. Merkmale des Aufbaus großer Backbone-Netzwerke. Gründe für Verzögerungen bei der Datenübertragung über Backbone-Netzwerke.
07 Skalierung und Verfügbarkeit von Internetdiensten. Lastausgleichstechnologien und Servicearchitektur.
08 MPLS und SR, Netzwerkprogrammierbarkeit. MPLS- und Segment-Routing-Technologien zum Aufbau von Backbone-Netzwerken. Zweck der MPLS-Technologie, Protokolle für den Etikettenaustausch.
09 Funktionsprinzipien von Netzwerkgeräten. Router-Architektur, Funktionen zur Verarbeitung des Netzwerkverkehrs innerhalb von Netzwerkgeräten.
10 Wolken. Grundlagen softwaredefinierter Netzwerke – Protokolle, die zum Aufbau softwaredefinierter Netzwerke verwendet werden. Integration von Virtualisierungsplattformen und Netzwerkinfrastruktur.
oder
Kryptografische Protokolle
01 Grundideen der asymmetrischen Kryptographie. Der Hauptunterschied zwischen asymmetrischer Kryptographie und symmetrischer Kryptographie. Hauptideen: Protokoll zur Generierung eines gemeinsamen Schlüssels, Verschlüsselung mit öffentlichem Schlüssel, elektronische Signatur (zu lösende Probleme, intuitives Verständnis der Sicherheitseigenschaften). Spezifische kryptografische Schemata: Diffie-Hellman-Protokoll, ElGamal- und RSA-Verschlüsselungsschemata, ElGamal- und RSA-Signaturen. Das grundlegende Problem bei asymmetrischen Verfahren ist das Vertrauen in den öffentlichen Schlüssel.
02 Stärke grundlegender asymmetrischer Kryptographieschemata. Formale Definition der Resistenz: Modelle UF-CMA, IND-CPA, DLP, CDH, DDH. Beziehungen zwischen ihnen. Stärke des ElGamal-Verschlüsselungsschemas. Die Instabilität des RSA-Signaturschemas ohne Verwendung einer Hash-Funktion.
03 Erfahren Sie mehr über asymmetrische Kryptographie. Lamparts Unterschrift, Merkles Diagramm. DSKS-Angriff.
04 Algebraische und zahlentheoretische Grundlagen der asymmetrischen Kryptographie. Endliche Gruppen, zyklische Gruppen, Reihenfolge der Gruppenelemente. Diskretes Logarithmusproblem (DLP). Multiplikative Gruppen endlicher Körper. Grundlegende Informationen zu elliptischen Kurven.
05 Elliptische Kurven. Hasses Theorem. Addition von Punkten auf einer elliptischen Kurve. Gruppe von Punkten auf einer elliptischen Kurve. Signaturschema GOST R 34.10-2012.
06 Diskreter Logarithmus. Diskrete Logarithmus-Algorithmen (Pollards Rho-Methode, Matching-Methode, Polig-Hellman-Methode, Indexberechnungsmethode).
07 PKI-Technologie. Grundprinzipien und Konzepte der Public-Key-Infrastruktur (PKI). Zertifikat, CA, CRL, OCSP, Vertrauensbereich.
08 TLS-Protokoll. Geschichte des TLS-Protokolls. Protokollstruktur, grundlegende Funktionsprinzipien. Kryptografische Suiten für das TLS-Protokoll, die auf russischen kryptografischen Algorithmen basieren.
09 Grundlagen zum Erstellen von AKE-Protokollen. Das Konzept des AKE-Protokolls. Zieleigenschaften. Grundlegende Ansätze zum Bauen.
10 Sichere Schlüsselaufbewahrung. Das Problem der sicheren Verwendung privater Schlüssel. Schlüsselmedien, nicht abziehbare Schlüssel. Das Problem der Anwesenheit eines Gegners im Kanal, Protokolle der PAKE-Familie.
11 Grundkonzepte der Blockchain-Technologie. Die Aufgabe der koordinierten dezentralen Interaktion. Grundbegriffe des Sicherheitsbegriffs. Sicherheitsansätze.
12 Grundprinzipien der Quantentechnologien und ihre Anwendungen in der Kryptographie