Upload
clint
View
88
Download
0
Embed Size (px)
DESCRIPTION
Andmeturbe olulisi elemente, IIa Asümmeetrilised krüptoalgoritmid ja räsialgoritmid. Valdo Praust mois @ mois .ee arvuti- ja andmeturbespetsialist isikuandmete kaitse seaduse kaasautor Infoühiskonna harrastusfilosoof Täienduskoolitus IT Kolledzis 28. septembril 2004. - PowerPoint PPT Presentation
Citation preview
Andmeturbe olulisi elemente, IIaAndmeturbe olulisi elemente, IIa
Asümmeetrilised krüptoalgoritmid Asümmeetrilised krüptoalgoritmid ja räsialgoritmidja räsialgoritmid
Andmeturbe olulisi elemente, IIaAndmeturbe olulisi elemente, IIa
Asümmeetrilised krüptoalgoritmid Asümmeetrilised krüptoalgoritmid ja räsialgoritmidja räsialgoritmid
Valdo Praust
arvuti- ja andmeturbespetsialist isikuandmete kaitse seaduse kaasautor
Infoühiskonna harrastusfilosoof
Täienduskoolitus IT Kolledzis 28. septembril 2004
Valdo Praust
arvuti- ja andmeturbespetsialist isikuandmete kaitse seaduse kaasautor
Infoühiskonna harrastusfilosoof
Täienduskoolitus IT Kolledzis 28. septembril 2004
Krüptoalgoritmide peamised Krüptoalgoritmide peamised liigidliigid
Krüptoalgoritmide peamised Krüptoalgoritmide peamised liigidliigid
1. Sümmeetrilised ehk salajase võtmega krüptoalgoritmid (on traditsioonilised e ajaloolised)
2. Asümmeetrilised ehk avaliku võtmega krüptoalgoritmid (levinud viimase 20 aasta jooksul)
3. Krüptograafilised sõnumilühendid jms sellesarnased funktsioonid
4. Eriotstarbega algoritmid tõestusteks, autentimisteks, ajatempli jaoks jm
Avaliku võtmega krüptoAvaliku võtmega krüptoalgoritmalgoritmAvaliku võtmega krüptoAvaliku võtmega krüptoalgoritmalgoritm
Ühest võtmest teist ei ole võimalik praktikas leida
Avaliku võtmega krüptoalgoritm (public key cryptoalgorithm) ehk asümmeetriline krüptoalgoritm (asymmetric cryptoalgorithm) kasutab kahte võtit – esimese võtmega šifreeritud teave on dešifreeritav vaid teise võtmega ja vastupidi
Avaliku võtmega krüptoalgoritm (public key cryptoalgorithm) ehk asümmeetriline krüptoalgoritm (asymmetric cryptoalgorithm) kasutab kahte võtit – esimese võtmega šifreeritud teave on dešifreeritav vaid teise võtmega ja vastupidi
Avaliku võtmega krüptoAvaliku võtmega krüptoalgoritm: algoritm: võtmedvõtmed
Avaliku võtmega krüptoAvaliku võtmega krüptoalgoritm: algoritm: võtmedvõtmed
Avaliku võtmega krüptoalgoritmi võtmeid nimetatakse reeglina avalikuks võtmeks ja privaatvõtmeks (public and private key)
Avaliku võtmega krüptoalgoritmi võtmeid nimetatakse reeglina avalikuks võtmeks ja privaatvõtmeks (public and private key)
• Avalik võti on tavaliselt kõigile soovijaile teada
• Privaatvõti on reeglina aga subjekti (inimese, tehnilise süsteemi, programmi vms) ainuvalduses
AAlgoritmide tekke- ja kasutuslugulgoritmide tekke- ja kasutusluguAAlgoritmide tekke- ja kasutuslugulgoritmide tekke- ja kasutuslugu
• Ilmusid krüptograafiasse 1970tel aastatel, varem neid ei teatud/tuntud
• Peamised nimed, kes loomisega seotud: Diffie, Hellmann, Shamir, Adleman, Rivest
• Kasutama hakati peamiselt 1980tel, kaasajal on põhilised tervikluse tagamise mehhanismid ja digitaalallkirja teoreetiline alus
Avaliku võtmega Avaliku võtmega krüptokrüptoalgoritm: RSAalgoritm: RSA
Avaliku võtmega Avaliku võtmega krüptokrüptoalgoritm: RSAalgoritm: RSA
RSA korral on tingimused veidi pehmemad: privaatvõtmest avalikku võtit saab leida, kuid avalikust võtmest privaatvõtit mitte
Nad on omavahel matemaatiliselt seotud, kuid avalikust võtmest privaatvõtme leidmine võtab aega miljoneid aastaid
Tuntuim avaliku võtmega krüptoalgoritm on RSA
Seda loetakse turvaliseks alates 768 või 1024 biti pikkusest võtmest
Tuntuim avaliku võtmega krüptoalgoritm on RSA
Seda loetakse turvaliseks alates 768 või 1024 biti pikkusest võtmest
RSA eripäradRSA eripäradRSA eripäradRSA eripärad• Töötasid välja Rivest, Shamir ja Adleman 1978.
aastal
• Turvalisus põhineb matemaatilisel faktil, et suure kordarvu teguriteks lahutamine (kui ka tegurid on suured) on praktiliselt võimatu ülesanne
• Tagab praktilise turvalisuse, ei taga teoreetilist (nagu kõik avaliku võtmag krüptoalgoritmid)
• Murdmiseks läheb aega miljoneid aastaid (sõltub võtmepikkusest)
• On maailmas väga levinud
RSA matemaatilised alusedRSA matemaatilised alusedRSA matemaatilised alusedRSA matemaatilised alusedAlgoritm on polünomiaalne (polünomiaalse keerukusega), kui pikkusega N ülesande lahendusaeg on võrdeline suurusega Nk mingi fikseeritud k korral
Polünomiaalset algoritmi peetakse praktiliseks lahendamiseks heaks algoritmiks: N kasvades ei kasva lahendusaeg eriti kiiresti väga suurte arvudeni
Palju halvemate omadustega on eksponentsiaalse keerukusega algoritmid: pikkusega N ülesande lahendusaeg on võrdeline suurusega 2N
Eksponentsiaalse keerukusega algoritmid on praktikas mittelahenduvad
Eksponentsiaalse keerukusega algoritmid on praktikas mittelahenduvad
RSA matemaatilised alusedRSA matemaatilised alusedRSA matemaatilised alusedRSA matemaatilised alusedPaljud praktikas kasutatavad algoritmid on polünomiaalsed: st nende kohta on teada vastavate omadustega lahendusalgoritm
Paljude algoritmide kohta sellist algoritmi aga teada ei ole (need on praktikas lahendumatud)
Näide 1: suuri algtegureid omavate kordarvude teguriteks lahutamine (Arvu pikkus on log N, vaja läbi vaadata N1/2 varianti)
Näide 2: diskreetse logaritmi leidmine:
a = gn (mod p), leida a, g ja p (algarv) põhjal n
Nendel tõsiasjadel baseerub RSA turvalisusNendel tõsiasjadel baseerub RSA turvalisus
• valitakse kaks suurt algarvu p ja q (nt 512-bitised)
• arvutatakse kahe suure algarvu korrutis • n = p • q
• valitakse arv e nii, et tal ei oleks ühistegureid arvuga (p-1)(q-1)
• leitakse arv d nii, et d • e = 1 mod (p-1)(q-1)
• avalik võti on (n, e)• privaatvõti on (p, q, d)
RSA võtmete genereerimineRSA võtmete genereerimineRSA võtmete genereerimineRSA võtmete genereerimine
• Turvalisus on praktiline, matemaatika mõttes on kõik võimatuks peetav leitav (vaja on teha eksponentsiaalne arv tehteid)
• Privaatvõtmest saab avaliku võtme alati leida
• Avalikust võtmest privaatvõtit leida on võimatu
• Privaatvõtit omamata ei ole võimalik šifreerida nii, et avaliku võtmega dešifreerides asi lahti tuleks
• Kui teave on avaliku võtmega šifreeritud, ei ole võimalik seda avaliku võtmega enam lahti teha
RSA turvalisus krüptoterminitesRSA turvalisus krüptoterminitesRSA turvalisus krüptoterminitesRSA turvalisus krüptoterminites
• Ka e leidmiseks on testid olemas, mis tagavad, et tal ei oleks tegureid arvuga (p-1)(q-1)
• Suurimat ühistegurit saab kontrollida Eukleidese algoritmiga
• Kõik peale algarvude genereerimise ja e leidmise on pikkade modulaararitmeetika realiseerimise küsimus (on realiseeritav nii tark- kui ka riistvaras väga kiirelt)
RSA: algoritmi praktilisi detaileRSA: algoritmi praktilisi detaileRSA: algoritmi praktilisi detaileRSA: algoritmi praktilisi detaile
• Šifreerimine ja dešifreerimine, kus kasutatakse modulaararitmeetikat, on küllalt kiired
• Siiski on need sümmeetrilistest krüptoalgoritmidest (DES, AES, IDEA jt) ca 2-3 suurusjärku (sadu kuni tuhandeid kordi) aeglasemad
• Võtmepaari genereerimine (sisaldab algarvude genereerimist) on šifreerimisest omakorda mitu suurusjärku aeglasem: kaasaja personaalarvuti leiab võtme siiski sekunditega või murdosadega
RSA eripärad praktikasRSA eripärad praktikasRSA eripärad praktikasRSA eripärad praktikas
• Võtmepikkus võib olla suvaline, see määrab ära p ja q suuruse.
• Kaasajal peetakse RSAd turvaliseks alates 1024 bitisest võtmest (pq väärtusest).
• Kasutatavaimad väärtused on (512, 768,) 1024, 1536, 2048, 3072 ja 4096 bitti (kahte esimest ei soovita kasutada)
• 1024 bitine võti: on vaja kaheks 155-kohaliseks algteguriks vaja jagada 310-kohaline kordarv
RSA turvaline kasutusRSA turvaline kasutusRSA turvaline kasutusRSA turvaline kasutus
• 70-kohalise arvu algteguriteks lahutamine nõuab kaasajal keskmiselt tööjaamalt ca 5 tundi
• 100-kohaline – samalt arvutilt ca pool aastat
• 140-kohaline arv lahutati 1996 teguriteks 5 aastaga, ühendades maailma paljude serverite jõupingutused
• Praegu on uusimatele matemaatilistele meetoditele tuginedes võimalik 150-kohalise arvu tagada kaheks algteguriks aastaga 50 miljonit krooni maksva arvutiga
RSA krüptoanalüüs, IRSA krüptoanalüüs, IRSA krüptoanalüüs, IRSA krüptoanalüüs, I
• 200-kohaline arv nõuab kümneid miljardeid kroone maksva arvuti korral aega ca 10 tuhat aastat
• 300-kohaline arv nõuab kogu praeguselt arvutivõimsuselt tööd kauemaks kui on Päikese eluiga (sajad miljardid aastad)
• On teada mitmeid kaasaja matemaatika eriteadmistel põhinevaid krüproanalüütilisi võtteid, kuid need ei ole RSAd oluliselt nõrgendanud, kui kasutada pikki võtmeid
RSA krüptoanalüüs, IIRSA krüptoanalüüs, IIRSA krüptoanalüüs, IIRSA krüptoanalüüs, II
• Pikka aega oli RSA USAs patenditud. RSAle anti 20. sept 1983 välja patent #4,405,829.
• Patent kaotas kehtivuse 20. sept 2000
• Algoritmi kirjeldus on avalik, samuti mitmed tarkvararealisatsioonid
• Riistvaraversioonid on mõnikümmend kuni sada korda kiiremad
RSA kasutamise praktilisi RSA kasutamise praktilisi aspekteaspekte
RSA kasutamise praktilisi RSA kasutamise praktilisi aspekteaspekte
• Need krüpteeritakse sümmeetrilise krüptoalgoritmiga, mille võti (sessiooni võti) spetsiaalselt genereeritakse ja vaid see võti vahetatakse avaliku võtmega krüptoalgoritmiga
• RSAga krüpteeritakse reeglina seega lühike sessiooni võti (jm lühikesi infokogumeid), ei enamat
RSA koostöö sümmeetriliste RSA koostöö sümmeetriliste krüptoalgoritmidegakrüptoalgoritmidega
RSA koostöö sümmeetriliste RSA koostöö sümmeetriliste krüptoalgoritmidegakrüptoalgoritmidega
Pikkade andmekogumite krüpteerimiseks RSA ei sobi (on liiga aeglane)
Pikkade andmekogumite krüpteerimiseks RSA ei sobi (on liiga aeglane)
Avaliku võtmega krüptoAvaliku võtmega krüptoalgoritmialgoritmi(RSA) kasutamine(RSA) kasutamine
• Avaliku võtmega krüptoalgoritme saab kasutada salajaste võtmete turvalisel edastamisel üle liinide ilma füüsilise kokkusaamiseta. Ainus tingimus on siin avaliku võtme avalikkus
• Avaliku võtmega krüptoalgoritme saab lisaks andmete konfidentsiaalsuse tagamisele kasutada ka nende tervikluse tagamisel. See ongi nende peamine kasutusvaldkond
• Avaliku võtmega krüptoalgoritmidel põhineb digitaalallkirja (digitaalsignatuuri) idee
Avaliku võtmega krüptoAvaliku võtmega krüptoalgoritmialgoritmikasutamine kasutamine ššifreerimiselifreerimisel
Avaliku võtmega krüptoAvaliku võtmega krüptoalgoritmialgoritmikasutamine signeerimisel (digitaalallkirja kasutamine signeerimisel (digitaalallkirja
andmisel)andmisel)
• ElGamal• DSS• Diffie-Hellmann• LUC• XTR
Teisai avaliku võtmega Teisai avaliku võtmega krüptoalgoritmekrüptoalgoritme
Teisai avaliku võtmega Teisai avaliku võtmega krüptoalgoritmekrüptoalgoritme
RSA on neist palju populaarsemRSA on neist palju populaarsem
Krüptograafiline sõnumilühendKrüptograafiline sõnumilühendKrüptograafiline sõnumilühendKrüptograafiline sõnumilühend
Krüprograafiline sõnumilühend (cryptographic message digest, hash, fingerprint) ehk krüptoräsi on ükskõik kui pikast sõnumist (failist) teatud matemaatiliste eeskirjade järgi arvutatav lühike (paarsada bitti) teabekogum
Krüprograafiline sõnumilühend (cryptographic message digest, hash, fingerprint) ehk krüptoräsi on ükskõik kui pikast sõnumist (failist) teatud matemaatiliste eeskirjade järgi arvutatav lühike (paarsada bitti) teabekogum
See seos on ühesuunaline (one-way): etteantud sõnumilühendi korral ei ole võimalik tuletada faili, millele see sõnumilühend vastab
Krüptograafiline sõnumilühend: Krüptograafiline sõnumilühend: kasutusalakasutusala
Krüptograafiline sõnumilühend: Krüptograafiline sõnumilühend: kasutusalakasutusala
Kui meil on olemas sõnum/sõnumilühend paar, kus sõnumilühend vastab failile, võime olla igal juhul kindlad, et lühend on arvutatud kindlasti sellest failist ega mitte millestki muust
Kui meil on olemas sõnum/sõnumilühend paar, kus sõnumilühend vastab failile, võime olla igal juhul kindlad, et lühend on arvutatud kindlasti sellest failist ega mitte millestki muust
Sõnumilühendite peamine kasutusala on autentimisel ja tervikluse tagamisel digitaalallkirja juures ja mujal
Krüptograafiline sõnumilühend: Krüptograafiline sõnumilühend: toimimisskeemtoimimisskeem
Krüptograafiline sõnumilühend: Krüptograafiline sõnumilühend: toimimisskeemtoimimisskeem
Räsifunktsioonilt nõutavad Räsifunktsioonilt nõutavad omadusedomadused
Räsifunktsioonilt nõutavad Räsifunktsioonilt nõutavad omadusedomadused
• algse sõnumi mistahes muutused peavad põhjustama muutuse ka sõnumilühendis
• sõnumilühend peab olema lihtsate protseduuridega leitav
• sõnumilühend ei tohi olla pööratav: etteantud lühendi korral ei tohi saada leida sellega sobivat algset sõnumit
• etteantud sõnumi korral ei tohi olla leitav teist sõnumit, mis annaks sama lühendi – nõrk kollisioonivabadus
• ei tohi olla leitav sellist sõnumitepaari, mis annaks sama sõnumilühendi – kollisioonivabadus
Räsifunktsioonide liigitusRäsifunktsioonide liigitusRäsifunktsioonide liigitusRäsifunktsioonide liigitus
Kaasajal nõutakse räsifunktsioonidelt reeglina kollisioonivabadust (tugevamaid omadusi)
Kaasajal nõutakse räsifunktsioonidelt reeglina kollisioonivabadust (tugevamaid omadusi)
• Ühesuunaline (one-way) on selline räsifunktsioon, mis ei ole pööratav ja on nõrgalt kollisioonivaba
• Kollisioonivaba (collision-free) on selline räsifunktsioon, millel on lisaks veel kollisioonivabaduse omadus
SünnipäevaparadoksSünnipäevaparadoksSünnipäevaparadoksSünnipäevaparadoks
Sünnipäevaparadoks: tõenäosus, et N inimesel langeb kahel sünnipäev omavahel kokku, kasvab N kasvades suurusega N2 võrdeliselt ehk väga kiiresti
Sünnipäevaparadoks: tõenäosus, et N inimesel langeb kahel sünnipäev omavahel kokku, kasvab N kasvades suurusega N2 võrdeliselt ehk väga kiiresti
Põhjus: uute elementide lisamisel tekib juurde järjest rohkem elementide paare (sidemeid nende vahel)
N korral on neid paare N2 – N
N=23 juures on see tõenäosus ½.
Sünnipäevaparadoksi mõju Sünnipäevaparadoksi mõju räsifunktsioonideleräsifunktsioonidele
Sünnipäevaparadoksi mõju Sünnipäevaparadoksi mõju räsifunktsioonideleräsifunktsioonidele
Järeldus sünnipäevaparadoksist: kui räsifunktsiooni väljund on N bitine, siis tõenäosus, et K katsel saadakse vähemalt kaks identset sõnumilühendit on
K = 1,17 2N/2
Lihtsaimaks krüptoanalüütiliseks ründeks (ammendavaks otsinguks) on N-bitilise väljundiga räsifunktsiooni korral vaja 2N/2 variandi läbivaatamist
Lihtsaimaks krüptoanalüütiliseks ründeks (ammendavaks otsinguks) on N-bitilise väljundiga räsifunktsiooni korral vaja 2N/2 variandi läbivaatamist
Praktikas kasutatavaid Praktikas kasutatavaid räsifunktsiooneräsifunktsioone
Praktikas kasutatavaid Praktikas kasutatavaid räsifunktsiooneräsifunktsioone
• MD5 – välja töötatud Ron Rivesti poolt. Leiab 128-bitise sõnumilühendi
• SHA-1 – konstrueeriti 1996. aastal MD4-l põhineva ideoloogia põhjal turvalisust tugevdades. Lühendi pikkus on 160 bitti (20 baiti)
• RIPEMD-160 – konstrueeriti 1990te algul, leiab 160-bitise lühendi
• MD2, MD4 – MD5 eellased, välja töötatud samuti Ron Rivesti poolt, leiab 128-bitise lühendi. NB! Ei ole kaasajal enam turvalised,on leitud kollisioone.
MD5: üldfakte ja kirjeldusMD5: üldfakte ja kirjeldusMD5: üldfakte ja kirjeldusMD5: üldfakte ja kirjeldus
• Sõnumilühendi pikkus on 128 bitti
• On koostatud 1991 Ron Rivesti poolt
• On omal ajal kuulutatud Interneti de facto standardiks RFC 1324
• Algoritm koosneb neljast üksteisest erinevast raundist (round), mille vältel sõnumit töödeldakse 512 biti kaupa
• Iga raundi alguses võetakse eelmise raundi lõpptulemus ja “segatakse” sellesse järgmised 512 bitti
MD5 turvalisusMD5 turvalisusMD5 turvalisusMD5 turvalisus
Ei peeta kõikidel kriitilistel juhtudel enam päris turvaliseks. Ei ole teada küll murdmisvõtteid, mis nõuaksid vähem kui
2128/2 = 264
variandi läbivaatamist, mida nõuab ammendav otsing, kuid seda on ikkagi vähe (vrd sümmeetriliste algoritmide 80 biti piir)
20 miljonit krooni maksev spetsiaalne riistvaraseade (arvuti) suudab MD5-l leida kollisiooni keskmiselt 24 päeva jooksul
20 miljonit krooni maksev spetsiaalne riistvaraseade (arvuti) suudab MD5-l leida kollisiooni keskmiselt 24 päeva jooksul
• Sarnaneb väga paljus MD5ga
• On koostatud 1996. aastal MD5 eelkäijat MD4 eeskujuks võtteks, kuid turvalisemaks tehes
• Sõnumilühendi pikkus on suurem, 160 bitti
• Muudes detailides sarnaneb suurelt osalt MD5ga – neli raundi, iga raundi alguses võetakse eelmise raundi lõpptulemus ja “segatakse” sellesse järgmine osa, spetsiaalsed teisendusfunktsioonid
SHA-1: üldfakte ja kirjeldusSHA-1: üldfakte ja kirjeldusSHA-1: üldfakte ja kirjeldusSHA-1: üldfakte ja kirjeldus
• On palju turvalisem kui MD5 ja palju laiemalt kasutuses
• Masin, mis maksab 1 miljard krooni, leiab SHA1 kollisiooni mitte kiiremini kui tuhandete aastatega
• On ANSI X.90 standardi osa
• Väikeste muudatustega on SHSi (Secure Hash Standard) osa, mis on spetsifitseeritud USA standardis FIPS PUB 180
SHA-1: turvalisus ja kasutatavusSHA-1: turvalisus ja kasutatavusSHA-1: turvalisus ja kasutatavusSHA-1: turvalisus ja kasutatavus
• On koostatud 1990te algul Hans Dobbertini, Antoon Bosselaersi ja Bart Preneeli poolt
• Lühendi pikkus on 160 bitti
• Muus osas on enam-vähem sarnased MD5 ja SHA-1ga (raundide arv on suurem, 5)
• On olemas modifikatsioonid RIPEMD-128 (see oli RIPEMD-160 eellane), RIPEMD-256 ja RIPEMD-320, vastavalt 128, 256 ja 320 bitilise lühendi tarbeks
RIPEMD-160: üldfakteRIPEMD-160: üldfakteRIPEMD-160: üldfakteRIPEMD-160: üldfakte
• RIPEMD-128 ei peeta enam turvaliseks. 1994 koostasid Paul van Oorschot ja Mike Wiener 10 miljonit dollarit maksva masina plaani, mis murraks selle ammendava otsinguga kuuga
• Praegu kuluks sellise masina ehitamisele veidi üle poole miljoni dollari (Moore’i reegel: protsessori hind kahaneb pooleteise aastaga kaks korda)
• RIPEMD-160 arvatakse olevat veel vähemalt 10 aastat turvaline, ei ole leitud efekti andvaid krüptoanalüütilisi võtteid
RIPEMD turvalisusRIPEMD turvalisusRIPEMD turvalisusRIPEMD turvalisus
Pilk ajalukku: MD2 ja MD4Pilk ajalukku: MD2 ja MD4Pilk ajalukku: MD2 ja MD4Pilk ajalukku: MD2 ja MD4• On koostatud Ron Rivesti poolt 1989 ja 1990
• Sarnanevad MD5ga nii lühendi pikkuselt (128 bitti) kui ka ehituselt (raundid, sõnumi perioodiline töötlemine)
• Alates 1994-95 on mõlemal leitud kollisioone. MD4-l osatakse neid kaasajal leida tavalise personaalarvutiga juba mõne sekundiga
Järeldus: MD2 ja MD4 on lahti murtud – nad ei ole enam turvalised ega sobivad kasutada
Järeldus: MD2 ja MD4 on lahti murtud – nad ei ole enam turvalised ega sobivad kasutada
Krüptograafiliste sõnumilühendite Krüptograafiliste sõnumilühendite kasutaminekasutamine
Krüptograafiliste sõnumilühendite Krüptograafiliste sõnumilühendite kasutaminekasutamine
• On kasutatavad peamiselt tervikluse tagamisel, kus nad on väga olulised mehhanismid
• Nende väga suur kasutusala on digitaalsignatuuride ja ajatemplite juures
Me ei pea hoolitsema enam mahuka andmekogu, programmi vm volitamata muutmiste eest, vaid võime leida sõnumilühendi ja hoolitseda selle muutumatuse eest (mida saame edaspidi alati vajadusel suure kogumiga võrrelda)
Me ei pea hoolitsema enam mahuka andmekogu, programmi vm volitamata muutmiste eest, vaid võime leida sõnumilühendi ja hoolitseda selle muutumatuse eest (mida saame edaspidi alati vajadusel suure kogumiga võrrelda)
Edasised küsimused palun aadressil
Käesoleva ettekande materjalid (MS PowerPoint 2000 vormingus) on saadaval veebis aadressil
http://www.itcollege.ee/~valdo/taiend/plokk2-2a.ppt
Tänan tähelepanu eest!Tänan tähelepanu eest!Tänan tähelepanu eest!Tänan tähelepanu eest!