Big Data Infrastructure – ilmainen kurssi School of Data Analysisiltä, 4 lukukautta, päivämäärä: 5.12.2023.
Miscellanea / / December 08, 2023
Niille, jotka rakastavat algoritmeja, tiedon parissa työskentelemistä ja ohjelmointia, mutta eivät halua yhdistää elämäänsä koneoppimiseen.
Algoritmit, ohjelmointi, tiedostojärjestelmien, levyjen, verkkojen ja prosessorien sekä hajautettujen järjestelmien suunnittelu.
Tehokkaiden ja luotettavien hajautettujen järjestelmien luomisessa ja tukemisessa ison datan tallentamiseen ja käsittelyyn.
Jokaisen opiskelijan tulee suorittaa vähintään kolme kurssia lukukauden aikana. Esimerkiksi, jos niitä on kaksi pääohjelmassa, sinun on valittava yksi erikoiskursseista.
Tietoa testataan ensisijaisesti kotitehtävien kautta - tentit ja kokeet suoritetaan vain joissakin aineissa.
Ensimmäinen lukukausi
Pakollinen
Algoritmit ja tietorakenteet, osa 1
01 Monimutkaisuus ja laskennalliset mallit. Kirjanpitoarvojen analyysi (alku)
02 Kirjanpitoarvojen analyysi (loppu)
03 Yhdistä-lajittelu- ja Quick-Sort-algoritmit
04 Tavallinen tilasto. Kasat (alku)
05 Kasat (loppu)
06 Hashing
07 Hakupuut (alku)
08 Hakupuut (jatkuu)
09 Etsi puita (loppu). Disjunktioiden järjestelmä
10 RMQ: n ja LCA: n tavoitteet
11 Geometrisen haun tietorakenteet
12 Dynaamisen liitettävyyden ongelma ohjaamattomassa graafissa
Tietokonearkkitehtuuri ja käyttöjärjestelmät
01 UNIX ja ohjelmointi C: ssä: komentorivi, prosessinohjaus, kanavat, signaalit. Komentorivikomentotulkin toteutus.
02 x86 assembler: aritmetiikka, siirtymät, ehdot ja funktiokutsut. Pino, siirry pinossa ylöspäin.
03 Ohjelmien ja ELF-muodon linkittäminen. Dynaaminen linkitys.
04 Kontekstin ja suoritusvirran käsite. Kevyiden lankojen toteuttaminen.
05 Ennaltaehkäisevä moniajo: tuki x86-prosessorilta ja prosessien toteuttaminen UNIX-ytimessä.
06 Moniytiminen arkkitehtuuri: välimuistin koherenssi ja muistimallit. Synkronointiprimitiivit monisäikeisissä ohjelmissa.
07 Prosessien ajoitus yhdessä ytimessä ja useissa ytimissä.
08 Ulkoinen muisti: kiintolevyt ja SSD-asemat. Tiedostojärjestelmien toimintaperiaatteet.
09 Virtualisointi: laitteistot ja ohjelmistot. Binäärilähetys.
C++-kielikoulutus, osa 1
C++ on voimakas kieli, jolla on rikas perintö. Niiden, jotka ovat juuri lähteneet tämän kielen hallitsemisen tielle, on erittäin helppoa eksyä viimeisten 30 vuoden aikana luotujen tekniikoiden ja tekniikoiden runsaudessa. Kurssilla opetetaan "Modern C++" - kielen moderni osajoukko (standardit 11, 14 ja 17). Paljon huomiota kiinnitetään työkaluihin ja kirjastoihin - asioihin, jotka eivät kuulu kieleen, mutta joita ilman ei voida rakentaa suurta ja monimutkaista projektia.
01 Johdatus C++:aan.
02 Vakiot. Osoittimet ja linkit. Argumenttien välittäminen funktiolle.
03 luokat.
04 Dynaaminen muistinhallinta.
05 Muuttujat, osoittimet ja viittaukset.
06 Muistinhallinta, älykkäät osoittimet, RAII.
07 Vakiomallikirjasto.
08 Periytys ja virtuaalifunktiot.
09 Virheiden käsittely.
10 Suunnittelukuvioita.
11 Nimiavaruudet Siirrä semantiikkaa Täydellinen edelleenlähetys.
12 Rakenteiden ja luokkien esitys muistissa. Tietojen kohdistus. Viitteitä luokan jäseniin/menetelmiin. Vaihtelevia malleja.
Toinen termi
Pakollinen
Algoritmit ja tietorakenteet, osa 2
01 Ohitus leveydellä. Syvyys ensimmäinen läpikulku (aloitus)
02 Syvyysläpikulku (jatkuu)
03 Läpikulku syvyydessä (loppu). 2-leikkaus
04 Lyhimpien polkujen löytäminen (alku)
05 Lyhimpien polkujen löytäminen (jatkuu)
06 Vähimmäisvälit
07 Minimaaliset leikkaukset. Etsi osamerkkijonoja (aloitus)
08 Etsi alimerkkijonoja (jatkuu)
09 Etsi alimerkkijonoja (loppu)
10 päätepuuta (alku)
11 Suffiksipuut (pääte). Suffiksitaulukot (alku)
12 päätetaulukkoa (pääte)
13 pisintä yhteistä osamerkkijonoa. Likimääräinen osamerkkijonohaku.
C++ kielikoulutus, osa 2
C++-kurssin toinen osa, joka kattaa edistyneet aiheet ja kielitaidot.
01 Monisäikeinen ohjelmointi. Synkronoi säikeitä käyttämällä mutexeja ja ehtomuuttujia.
02 Atomimuuttujat. C++ muistimalli. Esimerkkejä lukitsemattomista tietorakenteista.
03 Kehittyneet meta-ohjelmointitekniikat C++:ssa. Metafunktiot, SFINAE, käsitteet.
04 Kilpailukykyinen ohjelmointi, vuorovaikutus verkon kanssa.
05 llvm arkkitehtuuri. Työskentely C++ jäsennyspuun kanssa. Työkalujen kehittäminen C++-koodin analysointiin.
Mistä valita
Samanaikaisuuden teoria ja käytäntö
Kurssi on omistettu kilpaileville järjestelmille ja tehtäville laajimmassa merkityksessä: prosessoriytimien välisen kilpailun tasosta kirjoittamisesta yhteen soluun muisti hajautetuille järjestelmille, jotka haluavat replikoida tilansa useiden palvelimien välillä vikasietoisella ja johdonmukaisella tavalla.
01 https://gitlab.com/Lipovsky/shad-tpcc-course-2019/blob/master/lectures/syllabus.md
tai
Mene kieliin
01 Johdanto. Kurssin ohjelma. Kurssin raportointi, arviointikriteerit. Suunnittelufilosofia. jos, vaihda, varten. Hei maailma. Komentoriviargumentit. Sanamäärä. Animoitu gif. Haetaan URL-osoitetta. Haetaan URL-osoitetta samanaikaisesti. Verkkopalvelin. Menon kiertue. Paikallinen IDE-asetus. gofmt. goimports. nukkaa
02 Kielen perusrakenteet. nimet, ilmoitukset, muuttujat, tehtävät. tyyppiilmoitukset. paketteja ja tiedostoja. soveltamisalaan. Nolla arvo. Muistin varaus. Pino vs kasa. Perustietotyypit. Vakiot. Yhdistelmätietotyypit. Taulukot. Viipaleita. Kartat. Rakenteet. JSON. teksti/malli. merkkijono ja []tavu. Työskentely unicoden kanssa. Unicode-korvausmerkki. Toiminnot. Funktiot vaihtelevalla määrällä argumentteja. Anonyymit toiminnot. Virheet.
03 Menetelmät. Arvon vastaanotin vs osoittimen vastaanotin. Upottaminen. Menetelmän arvo. Kapselointi. Liitännät. Liitännät sopimuksina. io. Kirjoittaja, io. Reader ja niiden toteutukset. järjestellä. Käyttöliittymä. virhe. http. Käsittelijä. Liitännät luetteloina. Tyyppi väite. Tyyppikytkin. Mitä suurempi käyttöliittymä, sitä heikompi abstraktio. Käsittelyvirhe. paniikki, lykätä, toipua. virheitä.{Unwrap, Is, As}. fmt. Errorf. % w.
04 Gorutiinit ja kanavat. kellopalvelin. kaikupalvelin. Kanavan koko. Lukeminen estävä ja estävä. valitse lausunto. Kanava-aksioomit. aika. Jälkeen. aika. Uusi Ticker. Putkilinjan kuvio. Peruutus. Rinnakkaissilmukka. synkronoida. Odota ryhmä. Virhe rinnakkaiskoodin käsittelyssä. errgroup. Ryhmä. Samanaikainen indeksointirobotti. Samanaikainen hakemiston läpikäynti.
05 Kehittynyt testaus. Osatestit. testaus. B. (T).Logf. (T).Skipf. (T).FailNow. testaus. Lyhyt(), testausliput. Pilkun sukupolvi. todistaa/{vaatia, väittää}. todistaa/sviitti. Testilaite. Integraatiotestit. Goroutine vuodonilmaisin. TestingMain. Kattavuus. Vertailuarvojen vertailu.
06 Kehittynyt testaus. Osatestit. testaus. B. (T).Logf. (T).Skipf. (T).FailNow. testaus. Lyhyt(), testausliput. Pilkun sukupolvi. todistaa/{vaatia, väittää}. todistaa/sviitti. Testilaite. Integraatiotestit. Goroutine vuodonilmaisin. TestingMain. Kattavuus. Vertailuarvojen vertailu.
07 Paketin konteksti. Siirretään pyyntöön liittyviä tietoja. http-väliohjelmisto. chi. Reititin. Pyydä peruutusta. Edistyneet samanaikaisuusmallit. Asynkroninen välimuisti. Suloinen palvelimen sammutus. yhteydessä. With Timeout. Erä ja peruutus.
08 tietokanta/sql, sqlx, työskentely tietokantojen kanssa, redis.
09 Heijastus. heijastaa. Kirjoita ja heijastele. Arvo. struct tagit. net/rpc. koodaus/gob. synkronoida. Kartta. heijastaa. DeepEqual.
10 Package io-, Reader- ja Writer-toteutusta vakiokirjastosta. Matalan tason ohjelmointi. turvaton. Binääripaketti. tavua. Puskuri. cgo, syscall.
11 GC-arkkitehtuuri. Kirjoita este. Pinon kasvu. GC tauko. GOGC. synkronoida. Allas. Gorutine-aikataulu. GOMACPROCS. Vuotaneet langat.
12 Mene työkaluihin. pprof. Prosessorin ja muistin profilointi. Ristikokoelma. GOOS, GOARCH. CGO_ENABLED=0. Rakenna tunnisteet. mene moduuleita. goddoc. x/analyysi. Koodin luominen.
13 Hyödyllisiä kirjastoja. CLI-sovellukset kobralla. Protobuf ja GRPC. zap-kirjaus.
Kolmas lukukausi
Pakollinen
Algoritmit ulkoisessa muistissa
Kurssi tutustuttaa opiskelijat algoritmien rakentamisen perusperiaatteet työskentelyyn tietojen kanssa, jotka eivät mahdu tietokoneen RAM-muistiin.
01 Algoritmit ulkoisessa muistissa.
02 Välimuistia unohtavat algoritmit.
03 Algoritmit tietovirran käsittelyyn.
Hajautetut järjestelmät
Suositeltavat erikoiskurssit
Salausjärjestelmien vahvuus
01 Nykyaikaisen kryptografian peruslähestymistavat ja -periaatteet. Vastustajamalli, vahvuuden käsitteen formalisointi, vahvuuden arvioinnin ongelma ja siihen liittyvät ongelmat, jako primitiiviin ja protokolliin, kryptografisen järjestelmän "elämän" vaiheet.
02 Luottamuksellisuus. Luottamuksellisuuden arkipäiväiset määritelmät, lähestymistavat formalisointiin (vihollisen informaatioteoreettinen malli, mallit KR, PR, LOR, ROR, IND, CPA, CCA), symmetrinen salausjärjestelmä, monimutkaisuusteoreettisen tiedon soveltaminen määrittämään mallit. Perusvastustajamallien väliset suhteet salausjärjestelmien vahvuuden arvioimiseksi.
03 Lähestymistavat salausjärjestelmien rakentamiseen. Rakentaminen tyhjästä. Lohkosalauksiin perustuvat rakenteet, lohkosalauksen määritelmä, pääominaisuudet, lähestymistavat rakentamiseen ja ominaisuudet. Mallit PRP ja PRF. Syntymäpäiväongelman paradoksi. Lemma resistanssin suhteesta PRF- ja PRP-malleissa.
04 Salaustilat. Perussalaustilat: ECB, CBC, CFB, OFB, CTR. Suorituskyvyn perusominaisuudet. CTR: n kestävyys LOR-CPA: ssa, EKP: n epävakaus LOR-CPA: ssa. Perusmoodien epävakaus CCA-malleissa.
05 Rehellisyys. Eheyden käsitteen määritelmä. Lähestymistavat formalisointiin (UF-CMA malli, syrjintätehtävään perustuvat mallit, PRF-malli). Viestien todennuskoodit ja toiminnot jäljiteltyjen liitteiden luomiseen. Lohkosalauksiin perustuvat mallit: CBC-MAC, XCBC, TMAC, OMAC. Haavoittuvat tilat.
06 Hash-funktiot. Määritelmä, perusominaisuudet, lähestymistavat rakentamiseen, formalisointi ja niihin liittyvät ongelmat. Esimerkkejä hash-funktioiden käytöstä: salasanan hajautus, entropian purkaminen. Törmäysten ja esikuvien rakentaminen matalan kardinaalisuuden sarjoista.
07 HMAC-, KDF-, PRF-, DRNG-piirit. HMAC-kaavio, perusvaiheet vastusluokituksen saamiseksi. Avainten hajautus ja avainten erotteluperiaate, KDF- ja PRF-järjestelmät. Pseudosatunnaisgeneraattori, DRNG-piirit.
08 Avaimen kuorma. Avaimen latausongelma. Tärkeimmät menetelmät avaimen kuormituksen vähentämiseksi ovat ulkoisten ja sisäisten avainten muunnokset. Rinnakkais- ja sarjaavainnusmallit, perusominaisuudet. Avaimen puu. Sisäinen avaimen vaihto ja CTR-ACPKM-tila.
09 Salaus jäljitelmäsuojauksella. Ongelman muotoilu, ongelman asettelu. Yleiset rakenteet (EtA, AtE, A&E) ja niiden ominaisuudet. Esimerkkejä haavoittuvista tiloista luottamuksellisuuden ja eheyden varmistamiseksi yhdellä avaimella. AEAD-salaustilat: GCM, MGM.
10 Suojattu viestintäkanava. Turvallisen viestintäkanavan käsite: kanavien tyypit, perusominaisuudet (tietovirran eheys ja luottamuksellisuus). Esimerkkejä haavoittuvista protokollista. Tallenna TLS 1.3 -protokolla.
Neljäs lukukausi
Mistä valita
Samanaikaisuuden teoria ja käytäntö
Kurssi on omistettu kilpaileville järjestelmille ja tehtäville laajimmassa merkityksessä: prosessoriytimien välisen kilpailun tasosta kirjoittamisesta yhteen soluun muisti hajautetuille järjestelmille, jotka haluavat replikoida tilansa useiden palvelimien välillä vikasietoisella ja johdonmukaisella tavalla.
01 https://gitlab.com/Lipovsky/shad-tpcc-course-2019/blob/master/lectures/syllabus.md
tai
Mene kieliin
01 Johdanto. Kurssin ohjelma. Kurssin raportointi, arviointikriteerit. Suunnittelufilosofia. jos, vaihda, varten. Hei maailma. Komentoriviargumentit. Sanamäärä. Animoitu gif. Haetaan URL-osoitetta. Haetaan URL-osoitetta samanaikaisesti. Verkkopalvelin. Menon kiertue. Paikallinen IDE-asetus. gofmt. goimports. nukkaa
02 Kielen perusrakenteet. nimet, ilmoitukset, muuttujat, tehtävät. tyyppiilmoitukset. paketteja ja tiedostoja. soveltamisalaan. Nolla arvo. Muistin varaus. Pino vs kasa. Perustietotyypit. Vakiot. Yhdistelmätietotyypit. Taulukot. Viipaleita. Kartat. Rakenteet. JSON. teksti/malli. merkkijono ja []tavu. Työskentely unicoden kanssa. Unicode-korvausmerkki. Toiminnot. Funktiot vaihtelevalla määrällä argumentteja. Anonyymit toiminnot. Virheet.
03 Menetelmät. Arvon vastaanotin vs osoittimen vastaanotin. Upottaminen. Menetelmän arvo. Kapselointi. Liitännät. Liitännät sopimuksina. io. Kirjoittaja, io. Reader ja niiden toteutukset. järjestellä. Käyttöliittymä. virhe. http. Käsittelijä. Liitännät luetteloina. Tyyppi väite. Tyyppikytkin. Mitä suurempi käyttöliittymä, sitä heikompi abstraktio. Käsittelyvirhe. paniikki, lykätä, toipua. virheitä.{Unwrap, Is, As}. fmt. Errorf. % w.
04 Gorutiinit ja kanavat. kellopalvelin. kaikupalvelin. Kanavan koko. Lukeminen estävä ja estävä. valitse lausunto. Kanava-aksioomit. aika. Jälkeen. aika. Uusi Ticker. Putkilinjan kuvio. Peruutus. Rinnakkaissilmukka. synkronoida. Odota ryhmä. Virhe rinnakkaiskoodin käsittelyssä. errgroup. Ryhmä. Samanaikainen indeksointirobotti. Samanaikainen hakemiston läpikäynti.
05 Kehittynyt testaus. Osatestit. testaus. B. (T).Logf. (T).Skipf. (T).FailNow. testaus. Lyhyt(), testausliput. Pilkun sukupolvi. todistaa/{vaatia, väittää}. todistaa/sviitti. Testilaite. Integraatiotestit. Goroutine vuodonilmaisin. TestingMain. Kattavuus. Vertailuarvojen vertailu.
06 Samanaikaisuus jaetun muistin kanssa. synkronoida. Mutex. synkronoida. RWMutex. synkronoida. Cond. atomi- synkronoida. Kerran. Kilpailun ilmaisin. Asynkroninen välimuisti. Työskentely tietokannan kanssa. tietokanta/sql. sqlx.
07 Paketin konteksti. Siirretään pyyntöön liittyviä tietoja. http-väliohjelmisto. chi. Reititin. Pyydä peruutusta. Edistyneet samanaikaisuusmallit. Asynkroninen välimuisti. Suloinen palvelimen sammutus. yhteydessä. With Timeout. Erä ja peruutus.
08 tietokanta/sql, sqlx, työskentely tietokantojen kanssa, redis.
09 Heijastus. heijastaa. Kirjoita ja heijastele. Arvo. struct tagit. net/rpc. koodaus/gob. synkronoida. Kartta. heijastaa. DeepEqual.
10 Package io-, Reader- ja Writer-toteutusta vakiokirjastosta. Matalan tason ohjelmointi. turvaton. Binääripaketti. tavua. Puskuri. cgo, syscall.
11 GC-arkkitehtuuri. Kirjoita este. Pinon kasvu. GC tauko. GOGC. synkronoida. Allas. Gorutine-aikataulu. GOMACPROCS. Vuotaneet langat.
12 Mene työkaluihin. pprof. Prosessorin ja muistin profilointi. Ristikokoelma. GOOS, GOARCH. CGO_ENABLED=0. Rakenna tunnisteet. mene moduuleita. goddoc. x/analyysi. Koodin luominen.
13 Hyödyllisiä kirjastoja. CLI-sovellukset kobralla. Protobuf ja GRPC. zap-kirjaus.
tai
Tietokanta
01 Nykyaikaisten tietokantojen käyttöliittymät: relaatio, avainarvo, dokumentti, graafi. Relaatioalgebra ja SQL-kieli.
02 Työskentely levyn kanssa klassisessa relaatiotietokantajärjestelmässä: sivut, sivuvarasto, häätö poolista.
03 SQL-kyselyjen suorittaminen: lausekkeiden jäsentäminen, suunnittelu, suoritus. Tulkinta ja koodin luominen LLVM: n avulla.
04 Indeksit relaatiotietokantajärjestelmässä: indeksityypit, tallennustavat, käyttö kyselyissä.
05 Tapahtumat: ACID-lyhenne, eristystasot, tapahtumien toteuttaminen lukkojen ja MVCC: n kautta.
06 Hätäpalautus: loki, tarkistuspisteet, ARIES-algoritmi.
07 Tietojen tallennus lokirakenteisen yhdistämispuun menetelmällä.
08 Sarakepohjainen DBMS: edut, ominaisuudet, tietojen pakkausalgoritmit.
09 Hajautettu DBMS: jakaminen, tapahtumat, kyselyn suoritus.
10 DBMS: ää päämuistissa. Tietorakenteet muistissa oleville indekseille.
tai
Tietokoneverkot
01 Johdatus verkkoteknologioihin. Verkkojen historia, verkkoprotokollat, verkkovuorovaikutuksen organisointi vertaisverkossa ja vertaisverkkojen yhdistäminen toisiinsa.
02 Kuljetus. OSI/ISO-verkkomalli. TCP, verkkoyhteyden muodostaminen, TCP: n ja UDP: n vertailu. Tcpdump-analyysi – tavut lentää, lähettää kaavioita uudelleen. Menetelmät tietovirran ohjaamiseksi TCP-istunnossa. Erityyppiset TCP-istunnot ja lähetetyn datan kaistanleveyden hallinta pakettiverkoissa.
03 Reititys. Reitityksen käsite verkoissa. Staattinen ja dynaaminen reititys. Dynaamisen reitityksen perusteet. Dynaaminen reititysprotokolla - OSPF. Etäisyysvektorireititysprotokollat. Yleiskatsaus BGP-reititysprotokollasta - viestityypit, BGP-attribuutit, optimaalisen reitin valinta BGP: ssä.
04 Kuinka Internet toimii: BGP ja DNS. Internet-reititys. Yleiskatsaus DNS-protokollasta.
05 Verkot suurissa datakeskuksissa. Konesaliverkkojen arkkitehtuurin ominaisuudet. Vaatimukset konesalin verkoille. CLOS-arkkitehtuuri datakeskusverkkoihin.
06 Viiveet verkoissa. Suurten runkoverkkojen rakentamisen ominaisuudet. Syyt viiveisiin tiedonsiirrossa runkoverkkojen kautta.
07 Internet-palvelujen skaalaus ja saatavuus. Kuormantasausteknologiat ja palveluarkkitehtuuri.
08 MPLS ja SR, verkon ohjelmoitavuus. MPLS- ja Segment Routing -tekniikat runkoverkkojen rakentamiseen. MPLS-tekniikan käyttötarkoitus, etikettien vaihtoon käytetyt protokollat.
09 Verkkolaitteiden toimintaperiaatteet. Reititinarkkitehtuuri, verkkoliikenteen käsittelyn ominaisuudet verkkolaitteiden sisällä.
10 Pilviä. Software Defined Networking Fundamentals - Protokollat, joita käytetään ohjelmiston määrittelemien verkkojen rakentamiseen. Virtualisointialustojen ja verkkoinfrastruktuurin integrointi.
tai
Kryptografiset protokollat
01 Epäsymmetrisen kryptografian perusideoita. Suurin ero asymmetrisen salauksen ja symmetrisen kryptografian välillä. Pääideat: protokolla jaetun avaimen generoimiseksi, julkisen avaimen salaus, sähköinen allekirjoitus (ratkaistavat ongelmat, tietoturvaominaisuuksien intuitiivinen ymmärtäminen). Erityiset salausmenetelmät: Diffie-Hellman-protokolla, ElGamal- ja RSA-salausjärjestelmät, ElGamal- ja RSA-allekirjoitukset. Epäsymmetristen järjestelmien perusongelma on luottamus julkiseen avaimeen.
02 Epäsymmetristen salausmenetelmien vahvuus. Resistanssin muodollinen määritelmä: mallit UF-CMA, IND-CPA, DLP, CDH, DDH. Niiden väliset suhteet. ElGamal-salausjärjestelmän vahvuus. RSA-allekirjoitusjärjestelmän epävakaus ilman hajautusfunktiota.
03 Lisätietoja epäsymmetrisestä salakirjoituksesta. Lampartin allekirjoitus, Merklen kaavio. DSKS-hyökkäys.
04 Epäsymmetrisen kryptografian algebralliset ja lukuteoreettiset perusteet. Äärilliset ryhmät, sykliset ryhmät, ryhmäelementin järjestys. Diskreetti logaritmiongelma (DLP). Äärillisten kenttien moninkertaiset ryhmät. Perustietoa elliptisistä käyristä.
05 Elliptiset käyrät. Hassen lause. Pisteiden yhteenlasku elliptisellä käyrällä. Pisteiden ryhmä elliptisellä käyrällä. Allekirjoitusjärjestelmä GOST R 34.10-2012.
06 Diskreetti logaritmi. Diskreetit logaritmialgoritmit (Pollardin Rho-menetelmä, sovitusmenetelmä, Polig-Hellman-menetelmä, indeksin laskentamenetelmä).
07 PKI-tekniikka. Julkisen avaimen infrastruktuurin (PKI) perusperiaatteet ja käsitteet. Varmenne, CA, CRL, OCSP, luottamustila.
08 TLS-protokolla. TLS-protokollan historia. Protokollarakenne, toimintaperiaatteet. TLS-protokollan salausohjelmistot, jotka perustuvat venäläisiin salausalgoritmeihin.
09 AKE-protokollien rakentamisen perusteet. AKE-protokollan käsite. Kohdeominaisuudet. Peruslähestymistapoja rakentamiseen.
10 Turvallinen avainten säilytys. Yksityisten avainten turvallisen käytön ongelma. Avaimet, ei-irrotettavat avaimet. Ongelma vastustajan läsnäolosta kanavassa, PAKE-perheen protokollat.
11 Blockchain-tekniikan peruskäsitteitä. Koordinoidun hajautetun vuorovaikutuksen tehtävä. Turvallisuuskäsitteen peruskäsitteet. Turvallisuuslähestymistapoja.
12 Kvanttiteknologioiden perusperiaatteet ja niiden sovellukset kryptografiassa