Big Data Infrastructure — bezmaksas kurss no Datu analīzes skolas, 4 semestri, datums: 2023. gada 5. decembris.
Literārs Mistrojums / / December 08, 2023
Tiem, kam patīk algoritmi, darbs ar datiem un patīk programmēšana, bet nevēlētos savu dzīvi saistīt ar mašīnmācību.
Algoritmi, programmēšana, failu sistēmu, disku, tīklu un procesoru, kā arī sadalīto sistēmu projektēšana.
Efektīvu un uzticamu izplatītu sistēmu izveidē un atbalstīšanā lielu datu glabāšanai un apstrādei.
Katram studentam semestra laikā sekmīgi jāapgūst vismaz trīs kursi. Piemēram, ja pamatprogrammā ir divi no tiem, tad jāizvēlas viens no īpašajiem kursiem.
Zināšanas galvenokārt tiek pārbaudītas mājasdarbos – eksāmeni un ieskaites tiek kārtoti tikai atsevišķos priekšmetos.
Pirmais semestris
Obligāts
Algoritmi un datu struktūras, 1. daļa
01 Sarežģītība un skaitļošanas modeļi. Grāmatvedības vērtību analīze (sākums)
02 Grāmatvedības vērtību analīze (beigas)
03 sapludināšanas-kārtošanas un ātrās kārtošanas algoritmi
04 Parastā statistika. Kaudzes (sākums)
05 kaudzes (beigas)
06 Jaukšana
07 Meklēšanas koki (sākums)
08 Search Trees (turpinājums)
09 Meklēt kokus (beigas). Disjunktu kopu sistēma
10 RMQ un LCA mērķi
11 Datu struktūras ģeometriskajai meklēšanai
12 Dinamiskās savienojamības problēma nevirzītā grafā
Datoru arhitektūra un operētājsistēmas
01 UNIX un programmēšana C: komandrinda, procesa vadība, kanāli, signāli. Komandrindas čaulas ieviešana.
02 x86 montētājs: aritmētika, pārejas, nosacījumi un funkciju izsaukumi. Stack, virzās uz augšu.
03 Programmu un ELF formāta saistīšana. Dinamiskā saistīšana.
04 Konteksta un izpildes plūsmas jēdziens. Vieglu diegu ieviešana.
05 Preemptīva daudzuzdevumu veikšana: atbalsts no x86 procesora un procesu ieviešana UNIX kodolā.
06 Daudzkodolu arhitektūra: kešatmiņas saskaņotība un atmiņas modeļi. Sinhronizācijas primitīvi daudzpavedienu programmās.
07 Procesu plānošana vienā kodolā un vairākos kodolos.
08 Ārējā atmiņa: cietie diski un cietvielu diskdziņi. Failu sistēmu darbības principi.
09 Virtualizācija: aparatūra un programmatūra. Binārā apraide.
C++ valodu apmācība, 1. daļa
C++ ir spēcīga valoda ar bagātīgu mantojumu. Tiem, kas tikko nostājušies šīs valodas apguves ceļā, ir ļoti viegli apmaldīties pēdējo 30 gadu laikā radīto paņēmienu un paņēmienu pārpilnībā. Kursā tiek mācīts "Modern C++" - mūsdienu valodas apakškopa (11., 14. un 17. standarts). Liela uzmanība tiek pievērsta rīkiem un bibliotēkām – lietām, kas neietilpst valodā, bet bez kurām nebūs iespējams uzbūvēt lielu un sarežģītu projektu.
01 Ievads C++.
02 Konstantes. Norādes un saites. Argumentu nodošana funkcijai.
03 Nodarbības.
04 Dinamiskā atmiņas pārvaldība.
05 Mainīgie lielumi, norādes un atsauces.
06 Atmiņas pārvaldība, viedās norādes, RAII.
07 Standarta veidņu bibliotēka.
08 Mantojums un virtuālās funkcijas.
09 Kļūdu apstrāde.
10 dizaina modeļi.
11 Vārdtelpas Pārvietot semantiku Perfekta pārsūtīšana.
12 Struktūru un klašu attēlojums atmiņā. Datu saskaņošana. Norādes uz klases dalībniekiem/metodēm. Variādas veidnes.
Otrais termiņš
Obligāts
Algoritmi un datu struktūras, 2. daļa
01 Apvedceļš platumā. Pirmā dziļuma šķērsošana (sākums)
02 Dziļuma šķērsošana (turpinājums)
03 Šķērsošana dziļumā (beigas). 2-izgriezumi
04 Īsāko ceļu atrašana (sākums)
05 Īsāko ceļu atrašana (turpinājums)
06 Minimālie koki
07 Minimāli griezumi. Meklēt apakšvirknes (sākt)
08 Meklēt apakšvirknes (turpinājums)
09 Meklēt apakšvirknes (beigas)
10 sufiksu koki (sākums)
11 Sufiksu koki (beigas). Sufiksu masīvi (sākums)
12 sufiksu masīvi (beigas)
13 garākās kopīgās apakšvirknes. Aptuvenā apakšvirknes meklēšana.
C++ valodu apmācība, 2.daļa
C++ kursa otrā daļa, kas aptver padziļinātas tēmas un valodas prasmes.
01 Daudzpavedienu programmēšana. Pavedienu sinhronizēšana, izmantojot mutexes un nosacījumu mainīgos.
02 Atomu mainīgie. C++ atmiņas modelis. Bezbloķēšanas datu struktūru piemēri.
03 Uzlabotas metaprogrammēšanas metodes C++ valodā. Metafunkcijas, SFINAE, jēdzieni.
04 Konkurētspējīga programmēšana, mijiedarbība ar tīklu.
05 llvm arhitektūra. Darbs ar C++ parsēšanas koku. Rīku izstrāde C++ koda analīzei.
Lai izvēlētos no
Vienlaicības teorija un prakse
Kurss ir veltīts konkurētspējīgām sistēmām un uzdevumiem visplašākajā nozīmē: no konkurences līmeņa starp procesora kodoliem rakstīšanai līdz vienai šūnai atmiņu sadalītām sistēmām, kuras vēlas atkārtot savu stāvokli vairākos serveros izturīgā un konsekventā veidā.
01 https://gitlab.com/Lipovsky/shad-tpcc-course-2019/blob/master/lectures/syllabus.md
vai
Ej valoda
01 Ievads. Kursu programma. Atskaites par kursu, vērtēšanas kritēriji. Dizaina filozofija. ja, slēdzis, priekš. Sveika pasaule. Komandrindas argumenti. Vārdu skaits. Animēts gifs. Notiek URL iegūšana. Vienlaicīgi tiek ielādēts URL. Web serveris. Ekskursija. Vietējā IDE iestatīšana. gofmt. goimports. pūkojums
02 Valodas pamatstruktūras. nosaukumi, deklarācijas, mainīgie, uzdevumi. tipa deklarācijas. pakotnes un faili. darbības jomu. Nulles vērtība. Atmiņas piešķiršana. Stack vs kaudze. Pamatdatu veidi. Konstantes. Saliktie datu veidi. Masīvi. Šķēles. Kartes. Struktūras. JSON. teksts/veidne. virkne un []baits. Darbs ar unikodu. Unikoda nomaiņas rakstzīme. Funkcijas. Funkcijas ar mainīgu argumentu skaitu. Anonīmas funkcijas. Kļūdas.
03 Metodes. Vērtību uztvērējs pret rādītāja uztvērēju. Iegulšana. Metodes vērtība. Iekapsulēšana. Saskarnes. Saskarnes kā līgumi. io. Rakstnieks, io. Lasītājs un to realizācijas. kārtot. Interfeiss. kļūda. http. Apdarinātājs. Saskarnes kā uzskaitījumi. Tipa apgalvojums. Tipa slēdzis. Jo lielāks interfeiss, jo vājāka ir abstrakcija. Kļūda apstrādē. krist panikā, atlikt, atgūties. kļūdas.{Unwrap, Is, As}. fmt. Errorf. %w.
04 Gorutines un kanāli. pulksteņa serveris. atbalss serveris. Kanāla izmērs. Bloķējoša un nebloķējoša lasīšana. atlasiet paziņojumu. Kanālu aksiomas. laiks. Pēc. laiks. NewTicker. Cauruļvada raksts. Atcelšana. Paralēlā cilpa. sinhronizēt. Gaidīšanas grupa. Kļūda, apstrādājot paralēlo kodu. kļūdu grupa. Grupa. Vienlaicīga tīmekļa rāpuļprogramma. Vienlaicīga direktoriju šķērsošana.
05 Papildu pārbaude. Apakštesti. testēšana. B. (T).Logf. (T).Skipf. (T).FailNow. testēšana. Short(), testēšanas karodziņi. Izsmieklu ģenerēšana. liecināt/{pieprasīt, apgalvot}. liecināt/suite. Pārbaudes iekārta. Integrācijas testi. Goroutine noplūdes detektors. TestingMain. Pārklājums. Etalonu salīdzinājums.
06 Papildu pārbaude. Apakštesti. testēšana. B. (T).Logf. (T).Skipf. (T).FailNow. testēšana. Short(), testēšanas karodziņi. Izsmieklu ģenerēšana. liecināt/{pieprasīt, apgalvot}. liecināt/suite. Pārbaudes iekārta. Integrācijas testi. Goroutine noplūdes detektors. TestingMain. Pārklājums. Etalonu salīdzinājums.
07 Pakotnes konteksts. Notiek pieprasījuma tvēruma datu nodošana. http starpprogrammatūra. chi. Maršrutētājs. Pieprasīt atcelšanu. Uzlaboti vienlaicības modeļi. Asinhronā kešatmiņa. Gracioza servera izslēgšana. kontekstā. Ar taimautu. Pakešu komplektēšana un atcelšana.
08 datubāze/sql, sqlx, darbs ar datu bāzēm, redis.
09 Pārdomas. atspoguļot. Rakstiet un atspoguļojiet. Vērtība. struktūras tagi. tīkls/rpc. kodējums/gob. sinhronizēt. Karte. atspoguļot. DeepEqual.
10 Package io, Reader un Writer implementācijas no standarta bibliotēkas. Zema līmeņa programmēšana. nedrošs. Binārā pakotne. baiti. Buferis. cgo, syscall.
11 GC arhitektūra. Rakstīt barjeru. Stack izaugsme. GC pauze. GOGC. sinhronizēt. Baseins. Gorutine plānotājs. GOMACPROCS. Noplūduši pavedieni.
12 Dodieties uz instrumentiem. pprof. CPU un atmiņas profilēšana. Krusta kompilācija. GOOS, GOARCH. CGO_ENABLED=0. Veidojiet tagus. iet moduļi. godok. x/analīze. Kodu ģenerēšana.
13 Noderīgas bibliotēkas. CLI lietojumprogrammas ar kobru. Protobuf un GRPC. zap mežizstrāde.
Trešais semestris
Obligāts
Algoritmi ārējā atmiņā
Kurss iepazīstina studentus ar algoritmu konstruēšanas pamatprincipiem darbam ar datiem, kas neietilpst datora operatīvajā atmiņā.
01 Algoritmi ārējā atmiņā.
02 Kešatmiņas aizmirstošie algoritmi.
03 Plūsmas datu apstrādes algoritmi.
Sadalītās sistēmas
Ieteicamie speciālie kursi
Kriptogrāfisko sistēmu stiprums
01 Mūsdienu kriptogrāfijas pamatpieejas un principi. Pretinieka modelis, spēka jēdziena formalizēšana, spēka novērtēšanas problēma un ar to saistītās problēmas, iedalījums primitīvos un protokolos, kriptogrāfijas sistēmas “dzīves” posmi.
02 Konfidencialitāte. Ikdienas konfidencialitātes definīcijas, pieejas formalizēšanai (ienaidnieka informācijas teorētiskais modelis, modeļi KR, PR, LOR, ROR, IND, CPA, CCA), simetriskā šifrēšanas sistēma, sarežģītības teorētiskās informācijas pielietošana, lai noteiktu saistību starp modeļiem. Attiecības starp pretinieku pamata modeļiem šifrēšanas sistēmu stipruma novērtēšanai.
03 Pieejas šifrēšanas sistēmu izveidei. Celtniecība no nulles. Uz bloku šifriem balstītas konstrukcijas, blokšifra definīcija, galvenie raksturlielumi, pieejas konstrukcijai un īpašībām. Modeļi PRP un PRF. Dzimšanas dienas problēmas paradokss. Lemma par saistību starp pretestību PRF un PRP modeļos.
04 Šifrēšanas režīmi. Pamata šifrēšanas režīmi: ECB, CBC, CFB, OFB, CTR. Galvenās veiktspējas īpašības. VKS noturība LOR-CPA, ECB nestabilitāte LOR-CPA. Pamatrežīmu nestabilitāte CCA modeļos.
05 Integritāte. Integritātes jēdziena definīcija. Formalizācijas pieejas (UF-CMA modelis, modeļi, kuru pamatā ir diskriminācijas uzdevums, PRF modelis). Ziņojumu autentifikācijas kodi un funkcijas imitētu ieliktņu ģenerēšanai. Dizaini, kuru pamatā ir bloka šifri: CBC-MAC, XCBC, TMAC, OMAC. Neaizsargāti režīmi.
06 Jaucējfunkcijas. Definīcija, pamatīpašības, pieejas būvniecībai, formalizācija un ar to saistītās problēmas. Jaukšanas funkciju izmantošanas piemēri: paroles jaukšana, entropijas iegūšana. Sadursmju un priekšattēlu konstruēšana no zemas kardinalitātes kopām.
07 HMAC, KDF, PRF, DRNG shēmas. HMAC diagramma, pamata soļi pretestības reitinga iegūšanai. Atslēgu dažādošana un atslēgu atdalīšanas princips, KDF un PRF shēmas. Pseidogadījuma ģenerators, DRNG shēmas.
08 Atslēgas ielāde. Atslēgu ielādes problēma. Galvenās metodes atslēgas slodzes samazināšanai ir ārējās un iekšējās atslēgu konvertēšana. Paralēlās un seriālās atslēgošanas shēmas, pamatīpašības. Atslēgu koks. Iekšējās atslēgas maiņa un CTR-ACPKM režīms.
09 Šifrēšana ar imitācijas aizsardzību. Problēmas formulējums. Vispārīgās struktūras (EtA, AtE, A&E) un to īpašības. Neaizsargātu režīmu piemēri konfidencialitātes un integritātes nodrošināšanai, izmantojot vienu atslēgu. AEAD šifrēšanas režīmi: GCM, MGM.
10 Drošs sakaru kanāls. Droša sakaru kanāla jēdziens: kanālu veidi, pamatīpašības (datu plūsmas integritāte un konfidencialitāte). Ievainojamo protokolu piemēri. Ierakstiet TLS 1.3 protokolu.
Ceturtais semestris
Lai izvēlētos no
Vienlaicības teorija un prakse
Kurss ir veltīts konkurētspējīgām sistēmām un uzdevumiem visplašākajā nozīmē: no konkurences līmeņa starp procesora kodoliem rakstīšanai līdz vienai šūnai atmiņu sadalītām sistēmām, kuras vēlas atkārtot savu stāvokli vairākos serveros izturīgā un konsekventā veidā.
01 https://gitlab.com/Lipovsky/shad-tpcc-course-2019/blob/master/lectures/syllabus.md
vai
Ej valoda
01 Ievads. Kursu programma. Atskaites par kursu, vērtēšanas kritēriji. Dizaina filozofija. ja, slēdzis, priekš. Sveika pasaule. Komandrindas argumenti. Vārdu skaits. Animēts gifs. Notiek URL iegūšana. Vienlaicīgi tiek ielādēts URL. Web serveris. Ekskursija. Vietējā IDE iestatīšana. gofmt. goimports. pūkojums
02 Valodas pamatstruktūras. nosaukumi, deklarācijas, mainīgie, uzdevumi. tipa deklarācijas. pakotnes un faili. darbības jomu. Nulles vērtība. Atmiņas piešķiršana. Stack vs kaudze. Pamatdatu veidi. Konstantes. Saliktie datu veidi. Masīvi. Šķēles. Kartes. Struktūras. JSON. teksts/veidne. virkne un []baits. Darbs ar unikodu. Unikoda nomaiņas rakstzīme. Funkcijas. Funkcijas ar mainīgu argumentu skaitu. Anonīmas funkcijas. Kļūdas.
03 Metodes. Vērtību uztvērējs pret rādītāja uztvērēju. Iegulšana. Metodes vērtība. Iekapsulēšana. Saskarnes. Saskarnes kā līgumi. io. Rakstnieks, io. Lasītājs un to realizācijas. kārtot. Interfeiss. kļūda. http. Apdarinātājs. Saskarnes kā uzskaitījumi. Tipa apgalvojums. Tipa slēdzis. Jo lielāks interfeiss, jo vājāka ir abstrakcija. Kļūda apstrādē. krist panikā, atlikt, atgūties. kļūdas.{Unwrap, Is, As}. fmt. Errorf. %w.
04 Gorutines un kanāli. pulksteņa serveris. atbalss serveris. Kanāla izmērs. Bloķējoša un nebloķējoša lasīšana. atlasiet paziņojumu. Kanālu aksiomas. laiks. Pēc. laiks. NewTicker. Cauruļvada raksts. Atcelšana. Paralēlā cilpa. sinhronizēt. Gaidīšanas grupa. Kļūda, apstrādājot paralēlo kodu. kļūdu grupa. Grupa. Vienlaicīga tīmekļa rāpuļprogramma. Vienlaicīga direktoriju šķērsošana.
05 Papildu pārbaude. Apakštesti. testēšana. B. (T).Logf. (T).Skipf. (T).FailNow. testēšana. Short(), testēšanas karodziņi. Izsmieklu ģenerēšana. liecināt/{pieprasīt, apgalvot}. liecināt/suite. Pārbaudes iekārta. Integrācijas testi. Goroutine noplūdes detektors. TestingMain. Pārklājums. Etalonu salīdzinājums.
06 Vienlaicība ar koplietojamo atmiņu. sinhronizēt. Mutex. sinhronizēt. RWMutex. sinhronizēt. Vad. atomu sinhronizēt. Vienreiz. Sacensību detektors. Asinhronā kešatmiņa. Darbs ar datu bāzi. datu bāze/sql. sqlx.
07 Pakotnes konteksts. Notiek pieprasījuma tvēruma datu nodošana. http starpprogrammatūra. chi. Maršrutētājs. Pieprasīt atcelšanu. Uzlaboti vienlaicības modeļi. Asinhronā kešatmiņa. Gracioza servera izslēgšana. kontekstā. Ar taimautu. Pakešu komplektēšana un atcelšana.
08 datubāze/sql, sqlx, darbs ar datu bāzēm, redis.
09 Pārdomas. atspoguļot. Rakstiet un atspoguļojiet. Vērtība. struktūras tagi. tīkls/rpc. kodējums/gob. sinhronizēt. Karte. atspoguļot. DeepEqual.
10 Package io, Reader un Writer implementācijas no standarta bibliotēkas. Zema līmeņa programmēšana. nedrošs. Binārā pakotne. baiti. Buferis. cgo, syscall.
11 GC arhitektūra. Rakstīt barjeru. Stack izaugsme. GC pauze. GOGC. sinhronizēt. Baseins. Gorutine plānotājs. GOMACPROCS. Noplūduši pavedieni.
12 Dodieties uz instrumentiem. pprof. CPU un atmiņas profilēšana. Krusta kompilācija. GOOS, GOARCH. CGO_ENABLED=0. Veidojiet tagus. iet moduļi. godok. x/analīze. Kodu ģenerēšana.
13 Noderīgas bibliotēkas. CLI lietojumprogrammas ar kobru. Protobuf un GRPC. zap mežizstrāde.
vai
Datu bāze
01 Mūsdienu datu bāzu saskarnes: relāciju, atslēgas vērtības, dokuments, grafiks. Relāciju algebra un SQL valoda.
02 Darbs ar disku klasiskajā relāciju DBVS: lapas, lapu kopa, izlikšana no kopas.
03 SQL vaicājumu izpilde: izteiksmju parsēšana, plānošana, izpilde. Interpretācija un koda ģenerēšana, izmantojot LLVM.
04 Indeksi relāciju DBVS: indeksu veidi, uzglabāšanas metodes, izmantošana vaicājumos.
05 Darījumi: ACID akronīms, izolācijas līmeņi, darījumu īstenošana, izmantojot slēdzenes un MVCC.
06 Katastrofu atkopšana: žurnāls, kontrolpunkti, ARIES algoritms.
07 Datu glabāšana, izmantojot Log-Structured Merge Tree metodi.
08 Uz kolonnām balstīta DBVS: priekšrocības, līdzekļi, datu saspiešanas algoritmi.
09 Izplatītā DBVS: sadalīšana, transakcijas, vaicājumu izpilde.
10 DBVS, kas atrodas galvenajā atmiņā. Datu struktūras atmiņā esošajiem indeksiem.
vai
Datoru tīkli
01 Ievads tīkla tehnoloģijās. Tīklu vēsture, tīkla protokoli, tīkla mijiedarbības organizēšana peer-to-peer tīklā un vienādranga tīklu savienošana savā starpā.
02 Transports. OSI/ISO tīkla modelis. TCP, tīkla savienojuma izveide, TCP un UDP salīdzinājums. Tcpdump analīze – baiti lido, atkārtoti pārraida grafikus. Datu plūsmas kontroles metodes TCP sesijā. Dažādi TCP sesiju veidi un pārraidīto datu joslas platuma pārvaldība pakeštīklos.
03 Maršrutēšana. Maršrutēšanas jēdziens tīklos. Statiskā un dinamiskā maršrutēšana. Dinamiskās maršrutēšanas pamati. Dinamiskais maršrutēšanas protokols - OSPF. Attāluma vektoru maršrutēšanas protokoli. Pārskats par BGP maršrutēšanas protokolu - ziņojumu veidi, BGP atribūti, optimālā maršruta izvēle BGP.
04 Kā darbojas internets: BGP un DNS. Interneta maršrutēšana. DNS protokola pārskats.
05 Tīkli lielos datu centros. Datu centru tīklu arhitektūras iezīmes. Prasības datu centru tīkliem. CLOS arhitektūra datu centru tīkliem.
06 Kavējumi tīklos. Lielu mugurkaula tīklu veidošanas iezīmes. Datu pārraides aizkavēšanās iemesli maģistrālos tīklos.
07 Interneta pakalpojumu mērogošana un pieejamība. Slodzes balansēšanas tehnoloģijas un pakalpojumu arhitektūra.
08 MPLS un SR, tīkla programmējamība. MPLS un Segment Routing tehnoloģijas mugurkaula tīklu veidošanai. MPLS tehnoloģijas mērķis, etiķešu apmaiņai izmantotie protokoli.
09 Tīkla ierīču darbības principi. Maršrutētāja arhitektūra, tīkla trafika apstrādes iespējas tīkla ierīcēs.
10 mākoņi. Programmatūras definētā tīkla pamati — protokoli, ko izmanto programmatūras definētu tīklu veidošanai. Virtualizācijas platformu un tīkla infrastruktūras integrācija.
vai
Kriptogrāfiskie protokoli
01 Asimetriskās kriptogrāfijas pamatidejas. Galvenā atšķirība starp asimetrisko kriptogrāfiju un simetrisko kriptogrāfiju. Galvenās idejas: koplietotās atslēgas ģenerēšanas protokols, publiskās atslēgas šifrēšana, elektroniskais paraksts (risināmās problēmas, intuitīva drošības īpašību izpratne). Specifiskas kriptogrāfijas shēmas: Diffie-Hellman protokols, ElGamal un RSA šifrēšanas shēmas, ElGamal un RSA paraksti. Galvenā asimetrisko shēmu problēma ir uzticēšanās publiskajai atslēgai.
02 Pamata asimetriskas kriptogrāfijas shēmu stiprums. Formālā pretestības definīcija: modeļi UF-CMA, IND-CPA, DLP, CDH, DDH. Attiecības starp viņiem. ElGamal šifrēšanas shēmas stiprums. RSA paraksta shēmas nestabilitāte, neizmantojot jaucējfunkciju.
03 Uzziniet vairāk par asimetrisko kriptogrāfiju. Lamparta paraksts, Merkles diagramma. DSKS uzbrukums.
04 Asimetriskās kriptogrāfijas algebriskie un skaitļu teorētiskie pamati. Galīgās grupas, cikliskās grupas, grupas elementa secība. Diskrētā logaritma problēma (DLP). Ierobežotu lauku multiplikatīvas grupas. Pamatinformācija par eliptiskām līknēm.
05 Eliptiskas līknes. Hases teorēma. Punktu saskaitīšana eliptiskajā līknē. Punktu grupa eliptiskā līknē. Paraksta shēma GOST R 34.10-2012.
06 Diskrēts logaritms. Diskrēto logaritmu algoritmi (Pollard's Rho metode, saskaņošanas metode, Poliga-Helmana metode, indeksu aprēķināšanas metode).
07 PKI tehnoloģija. Publiskās atslēgas infrastruktūras (PKI) pamatprincipi un koncepcijas. Sertifikāts, CA, CRL, OCSP, uzticības telpa.
08 TLS protokols. TLS protokola vēsture. Protokola uzbūve, darbības pamatprincipi. TLS protokola kriptogrāfijas komplekti, kuru pamatā ir Krievijas kriptogrāfijas algoritmi.
09 AKE protokolu veidošanas pamati. AKE protokola koncepcija. Mērķa īpašības. Pamata pieejas būvniecībai.
10 Droša atslēgu glabāšana. Privāto atslēgu drošas izmantošanas problēma. Atslēgu datu nesēji, nenoņemamas atslēgas. Pretinieka klātbūtnes problēma kanālā, PAKE saimes protokoli.
11 Blockchain tehnoloģijas pamatjēdzieni. Koordinētas decentralizētas mijiedarbības uzdevums. Drošības jēdziena pamatjēdzieni. Drošības pieejas.
12 Kvantu tehnoloģiju pamatprincipi un to pielietojums kriptogrāfijā