Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaCsenge Pásztorné Megváltozta több, mint 10 éve
1
by: Janóczki Szilvia IV. évf.. matematika-számítástechnika
KRIPTOGRÁFIA by: Janóczki Szilvia IV. évf.. matematika-számítástechnika
2
„Ha az emberi agy képes egy rejtjelezett írás eljárásait megérteni, akkor egy másik agy követelheti ezt az utat, amikor egy ilyen út létezéséről tudomása van. Az egyedüli titkosírás az, amely elrejti a titkok meglétét.” Francis Bacon
3
Mi is a kriptográfia? Cryptographia=tikosítás
A kriptográfia adatok, üzenetek rejtjelezésével (kódolás) foglalkozó tudomány. Szűkebb értelemben valóban a rejtjelezés a kriptográfia alapvető feladata: matematikai eszközökkel biztosítani azt, hogy stratégiai fontosságú adatok, üzleti információk, pénzügyi adatok, dokumentációk vagy személyiségi jogokat érintő adatok stb. csak az azok felhasználására kijelölt körben legyenek elérhetők, ne illetéktelenek birtokába.
4
Régmúlt idők titkosítása
A titkosírás története egészen i.e ig. nyúlik vissza, ekkor készült ugyanis az az ékírásos táblácska, amely az agyagmáz-készítés módját írta le, titkosítva. A görögök és a spártaiak már i.e. 475-ben használtak titkos kódokat, az itáliai reneszánsz idején pedig egyenesen virágkorát élte a titkosírás művészete. XIV. Lajos korában 587 véletlenszerűen kiválasztott elemből álló kódot használtak az állami üzenetek továbbításához.
5
Az 1800-as években Edgar Allan Poe novelláiban szereplő kódolt üzenetek felkeltették az olvasók érdeklődését, de a távíró és a Morse kód feltalálása is nagymértékben hozzájárult a titkosírás-titkosítás további fejlődéséhez. Az első világháborúban több nemzet készített mechanikus kódoló gépet, ami lehetővé tette a szövegek gyors és könnyű titkosítását, bonyolult rejtjelezéssel is. A titkosírás története itt vesz egy kisebb fordulatot, a kódok „feltörésének” története felé.
6
A mechanikus eszközök használata előtt nem használtak bonyolult rejtjelezést, mivel nagyon sok időt vett volna igénybe a szövegek, üzenetek kódolása és természetesen dekódolása is. Ebből kifolyólag viszonylag rövid idő alatt meg lehetett fejteni ezeket a kódokat. A megfejtés sokkal nehezebbé vált a kódoló gépek idejében, és a második világháborúban már az volt a hozzá vezető „legrövidebb” út, ha egyszerűen ellopják az ellenség kódoló gépét. Az a tény, hogy a szövetségesek birtokába került egy német kódoló gép - amiről a németek nem tudtak - valószínűleg befolyásolta a háború végső kimenetelét.
7
Az üzenethez kapcsolódó személyek
KÜLDŐ KAPÓ ILLEGÁLIS BETOLAKODÓ
8
Kriptográfia részei klasszikus kriptográfia
Két része van: klasszikus kriptográfia nyilvános kulcsú kriptográfia Vegyes módon szokták alkalmazni a titkosítást és akkor tényleg nagyon nehéz megfejteni a titkosított szöveget.
9
Klasszikus kriptográfia
ezek a régi korok titkosításai ismerjük a módszert, hogy hogyan titkosítanak, akkor meg tudjuk fejteni a titkosított szöveget fejtési módszere: statisztikai módszerek a titkos szöveg általában betűkből áll
10
Nyilvános kulcsú kriptográfia
modern titkosítási technika ismerjük a módszert, a fejtés még nem működik, nagyon nehezen tudjuk megfejteni fejtési módszere: statisztikai módszerek nem működnek bitsorozatokból, esetleg számokból áll a titkos szöveg
11
Nem matematikai módszerekkel való fejthetőség
Nemcsak olyan titkosítási módszerek vannak, amelyeket matematikai módszerekkel lehet megfejteni. Vannak más módszerek is: láthatatlan tinta (tej) írás kopasz fejre CODE BOOK: titkosítás királya, a küldőnek is és a kapónak is van egy könyve, amelyben benne van, hogy melyik szónak mi felel meg
12
Titkosított szöveg Ek(T)
A szöveg útja Titkosított szöveg Ek(T) Kódolt szöveg Szöveg T kódolás titkosítás Fejtett szöveg Dk(Ek(T)) Szöveg T fejtés dekódolás
13
kódolás: a szövegből valamiképpen számot csinálunk
titkosítás: Ek titkosítási technika (encrypt) fejtés: Dk fejtési technika (decrypt) dekódolás: ezzel az eljárással visszakapjuk az eredeti szöveget
14
A jó titkosítás ismérvei:
A XVII. században fogalmazta meg F. Bacon a jó titkosítás ismérveit: könnyű legyen a titkosított szöveg előállítása a fejtő kulcs ismeretében a fejtés könnyű legyen „A fejtő kulcs hiányában a fejtés lehetetlen legyen.” a titkosított szöveg legyen ártatlan kinézetű
15
Mikor lehetséges a fejtés:
ha elég hosszú titkosított szöveg áll rendelkezésünkre (T, Ek(T)) pár ismeretében ha legális kapónak tüntetjük fel magunkat
16
MONOALFABETIKUS RENDSZEREK Caesar féle titkosítás
A kulcsot az ábécé betűinek egy másik ábécével való helyettesítésével képezték, amelyet a nyílt ábécéhez viszonyítva három betűvel eltoltak. Nyílt ábécé: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Rejtjel ábécé: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Példa a rejtjelezésre: BUDAPEST = EXGDSHVW JULIUS CAESAR = MXOLXV FDHVDU
17
Kulcsszavas Caesar titkosítás
Kulcsszó: SOMA Nyílt ábécé: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Rejtjel ábécé: S O M A B C D E F G H I J K L N P Q R T U V W X Y Z Példa a rejtjelezésre: KRIPTOGRAFIA = HQFNTLDQSCFS DEBRECEN = ABOQBMBK
18
Polybios módszere Polübiosz a harmadik pun háború nagy római hadvezérének volt a tanácsadója.
19
Példa ITT ALUDT, AKI ELADOTT EGY UBORKAGYALUT. ITTHON CSÜCSÜLÖK. U
Az ábécé betűit magánhangzó párokkal helyettesítjük, ezeket a párokat észrevétlenül elrejthetjük szavakban. ITT ALUDT, AKI ELADOTT EGY UBORKAGYALUT. ITTHON CSÜCSÜLÖK. U Gyűjtsük páronként össze a szöveg magánhangzóit.
20
Megoldás IA UA IE AO EU OA AU IO UU OU Az elrejtett üzenet:
KÜLDJ PÉNZT.
21
Hill-módszer Választunk egy tetszőleges mátrixot: például
Például a titkosítandó szó: TEVE „e” és „f ” az ábécé betűinek a sorszáma: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
22
Titkos képe TEVE GHML
23
Legális fejtő Ismeri: Példa: Titkos szöveg: GOIC
Fejtsük meg az eredeti üzenetet!
24
PÉLDA: Titkosítsuk a CICA szót, majd mint legális fejtő, fejtsük vissza a titkosított szöveget, ezzel visszakapjuk az eredeti szót. Titkos képe CICA GOIC
25
Legális fejtés Titkosított szöveg: GOIC Titkos képe GOIC CICA
26
Affin kriptorendszer Választunk: a, b-t Két kép akkor egyezik meg ha:
27
POLIALFABETIKUS MÓDSZEREK Playfair módszer
Kódolandó szöveg: MINDEN NAP HETFO (ékezet nélkül) MI PK NA CO FO EA ND YO PH AR EN TO ET TN
28
Ha a két betű egy sorban van: jobbra csúszás NE OT
Kódolt szöveg MINDEN NAP HETFO PKYOTOCOARTNEA Ha a két betű egy sorban van: jobbra csúszás NE OT Ha a két betű egy oszlopban van: lefelé csúszás LE FV
29
Kulcsszavas Playfair módszer
A kulcsszóban ne legyen betűismétlés és legyen elég hosszú. Kódolt szöveg MINDEN NAP HETFO FTFKUFHKYSLIMF
30
Blaise de Vigenére ( )
31
MARSM ARSM ARS MARSM (oszlop) LENNI VAGY NEM LENNI (sor)
Kulcsszó: MARS Titkosítandó szöveg: LENNI VAGY NEM LENNI MARSM ARSM ARS MARSM (oszlop) LENNI VAGY NEM LENNI (sor) L képe: L. sor M. eleme E képe: E. sor A. eleme XEEFUVRYKNVEXEEFU Kódolt szöveg
32
Autoclave Cardano A Vigenére táblázat segítségével:
Titkosítandó szöveg: AKI MER AZ NYER Titkosító kulcs: CER UZA AK IMER A Vigenére táblázat segítségével: Titkosított szöveg: COZGDRAJVKII AKI MER AZ NYER COZGDRAJVKII Kódolt szöveg
33
NYILVÁNOS KULCSÚ RENDSZEREK Knapsack (hátizsák) módszer Merkle-Hellman-féle algoritmus
A nyilvános kulcsú kriptorendszerben van sok nevekkel ellátott, nyitott lakat, amelyeknek kulcsa a tulajdonosuknál van, bezárás után csak ők tudják kinyitni. Üzenet küldésekor a megfelelő névvel ellátott lakatot kattintják rá az acéldobozra, és úgy küldik el. A fogadó saját kulcsával fogja kinyitni a dobozt, így nincs is szükség a kulcs elküldésére. Szükséges viszont a nyitott lakatok és kulcsaik megfelelő szétosztása. Nyilvános kulcsú rendszerek: Órarend Utazóügynök problémája Rendezéses probléma Pakolási probléma
34
Pakolási probléma: Adottak különböző nagyságú hátizsákok és apróságok
Pakolási probléma: Adottak különböző nagyságú hátizsákok és apróságok. A hátizsákokba kell bepakolnunk úgy, hogy a lehető legkevesebb hátizsákot használjuk fel. súlyok, apróságok Az ai apróságokra, azaz a sorozatra teljesülnie kell, hogy A hátizsákba súlyú felszerelés fér.
35
Visszafejtés Nyilvános kulcsú hátizsákrendszerben
pár a titkos kulcs, a pedig a nyilvános kulcs. Visszafejtés és Értékek meghatározása után az könnyű hátizsákfeladat megoldásával történik.
36
hátizsák feladat Adott: Keressük: amelyre igaz az Példa:
37
Feladat: készítsük el A KRIPTO szó titkosítását és visszafejtését egy (A,t,m,B) hátizsákrendszerrel.
t-1=1061, mert (mod 55207) A=(103, 107, 211, 430, 863, 1718, 3449, 6907, 13807, 27610) B=(4579, 50316, 24924, 30908, 27110, 17953, 32732, 16553, 22075, 53620) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
38
Titkosítás: Fejtés: A 0000100000 27110 863 KR 0101110010 148362 16925
Nyílt szöveg Bináris kód A KR IP TO Fejtés: X=(0,1,0,1,1,1,0,0,1,0)
39
RSA algoritmus 1978-ban javasolt R. Rivest, A. Shamir és L. Adleman egy másik nyilvános kulcsú algoritmust. Az algoritmus a szerzők neve alapján az RSA nevet kapta. Választunk véletlenszerűen két nagy p és q prímszámot. Ezek nagyságrendje legalább 100 decimális jegy. Kiszámítjuk: modulust, és Választunk véletlenszerűen egy e számot Keresünk egy olyan d számot, amelyre fennáll az p, q és számokra továbbá nincs szükségünk. és és
40
Titkosítás Nézzünk egy példát a titkosításra: Regina Rudolfnak akar üzenni, akkor kikeresi Rudolf nyilvános kulcsát: KP=(n,e). Az üzenetet blokkokra kell vágni úgy, hogy az eredményül kapott, egy blokknak megfelelő számok ne legyenek nagyobbak Rudolf n modulusánál. KP=d titkos kulcsot jól védett helyen kell tárolni. Titkosítsuk a TITOK szót. A kódolást az ASCII táblázat alapján végezzük el. Minden blokk egy betűből áll, és kódja nem haladja meg a modulusok értékét.
41
Regina titkosít Rudolf számára
Rudolf visszafejt
42
Digitális aláírás Regina aláírja a TITOK szöveget. Ehhez először göngyölített XOR művelet segítségével kiszámítja az MD kivonatot.
43
nyilvános kulcs ismeretében
Göngyölített XOR művelet eredménye. Az aláírást: érték adja. Az ellenőrzést: nyilvános kulcs ismeretében számítás adja. Az aláírás és a titkosítás egymástól független, így lehet küldeni titkosított és aláírt üzenetet is.
44
PRÍMTESZTEK Álprímek tesztelése
Ha n prím, akkor Azt modjuk, hogy az n szám „a” alapú álprím, ha n összetett és ÁLPRÍM(n) if MODULÁRIS-HATVÁNYOZÓ(2,n-1,n) 1 (mod(n)) then return ÖSSZETETT Valóban! else return PRÍM Reméljük! Ez az eljárás csak egyféleképpen adhat hamis végeredményt. Ha azt hozza ki, hogy n összetett, akkor az állítás mindig helyes. Ha pedig azt állítja, hogy n prím, csak akkor hibázik, ha az n szám 2 alapú álprím.
45
A Miller-Rabin valószínűségi prímteszt
TÉTEL: Legyen: n>2 és n páratlan, , ahol r páratlan. Ha vagy valamely esetén. TESZT: Ha nem igaz, akkor n összetett. Ha igaz, akkor szukcesszív gyökvonást végzünk.
46
Ha -től különböző értéket kapunk, akkor n nem prím.
Ha +1-et kapunk, akkor folytatjuk a gyökvonást. Ha -1-et kapunk, akkor „a” tanúskodik n prímsége mellett. „a” tanúskodik n prímsége mellett
47
TANÚ Algoritmus TANÚ(a,n) 1 legyen az n-1 bináris alakja 2 d 1
3 for i k downto 0 do x d d if d=1 és x=1 és x=n-1 then return IGAZ if then d 10 if d=1 then return IGAZ 12 return HAMIS Az n-1 bináris reprezentációját határozza meg, amit arra használunk, hogy az a számot az n-1 hatványra emeljük. Kiszámítja a értékét. Amikor azonban az 5. sorban négyzetre emel, a 6-7. sorokban rögtön leellenőrzi, hogy nem jelent-e meg az 1-nek nem triviális négyzetgyöke modulo n. Ha igen, az algoritmus leáll, és IGAZ kijelentést ad. Akkor szolgáltatnak IGAZ kifejezést, ha a-1 mod n nem 1.
48
Ha a TANÚ algoritmus a 11. sorban az IGAZ eredményt adja, akkor azt fedezte fel, hogy Ha azonban n prím, akkor Fermat-tétele szerint minden elemre. Emiatt n nem lehet prím, és a bizonyíték erre. Ha a TANÚ algoritmus a 7. sorban ad IGAZ kijelzést, akkor pedig felfedezte, hogy x az 1-nek nem triviális négyzetgyöke modulo n, mivel ekkor ugyanakkor mégis teljesül. Ha n összetett, akkor lesz az 1-nek nem triviális négyzetgyöke modulo n. Így, ha x-ről belátjuk, hogy az nek nem triviális négyzetgyöke modulo n, akkor ez bizonyíték arra, hogy n összetett.
49
MILLER-RABIN(n,s) 1 for j to s 2 do a VÉLETLEN(1,n-1) 3 if TANÚ(a,n)
then return ÖSSZETETT 5 return PRÍM A Miller-Rabin prímteszt valószínűségi kereséssel bizonyítja, hogy n összetett. A fő ciklus az 1. sorban kezdődik a halmazból véletlenszerűen kiválaszt s darab a értéket 2. sor. Ha a kiválasztott a számok valamelyike az n összetettségére tanú, akkor a MILLER-RABIN teszt ÖSSZETETT kijelzést ad a 4. sorban. Ez az eredmény mindig helyes, amit a TANÚ algoritmus szavatol. Ha az s darab szám egyike sem tanú, akkor a MILLER-RABIN teszt feltételezi, hogy ilyenkor egyáltalán nem is lehet tanút találni, ezért n prím. Tényleg. Majdnem biztosan.
50
FAKTORIZÁLÁS Fermat-féle faktorizáció
Tegyük fel, hogy az n egész számot faktorizálni akarjuk, azaz fel akarjuk bontani prímek szorzatára. Fermat-féle faktorizáció Kölcsönösen egyértelmű megfeleltetés van az n szám alakú faktorizációja és az n szám alakú előállítása között. Ez akkor működik, ha a faktorizálásnál a és b „közel” van egymáshoz.
51
Példa: Faktorizáljuk: teljes négyzet
52
Módosított változat: Ha van közös prímtényező, az lesz a faktor.
Ha nincsennek „közel” a faktorok egymáshoz. Ha van közös prímtényező, az lesz a faktor.
53
Példa: Faktorizáljuk: 141467
A LNKO meghatározása Euklideszi algoritmus alapján.
54
Pollard-féle heurisztikus módszer
Legyen f egy tetszőleges függvény, amely előállítja maradékosztályoknak önmagára való leképezését. Például: Általában egy véletlen polinom. Tetszőlegesen „kicsi” pont. Iterációval előállítjuk a pontsorozatot. n db Az iterációval előállított pontok esetén teszteljük LNKO-t.
55
n=91 91 egyik faktora:7
56
POLLARD 1 lnko és 2 VÉLETLEN(0,n-1) 3 4 5 while IGAZ 6 do 7 8 9 if
then d kinyomtatása if i=k then 13 i értéke 1 lesz x1 pedig a Zn véletlenszerűen választott eleme lesz elmenti x1 értékét k értéke 2 lesz n osztóit keresi i értéke egyesével nő x1, x2, x3, x4... végtelen sorozat soron következő elemének kiszámítása lnko n egyik prímtényezőjét próbálja megtalálni, az y-ban tárolt értékeket és az xi aktuális értékét felhasználva, ha d az n nem triviális osztója, akkor kinyomtatja d értékét és A program elmenti a 2-hatvány indexű xi legújabb kiszámított értékeit az y változóba. Azaz az: x1, x2, x4, x8, x16,… számokat. k értéke megduplázódik, amikor y átíródik, k az 1,2,4,8,… értékeket veszi fel, és mindig az ennek megfelelő indexű xk számokat tárolja y-ban.
57
310 996 396 814 84 x7 177 120 x6 1186 529 339 x5 1194 595 1053 x4 63 x3 8 x2 3 x1 2
58
x7” 31 x4’ 11 x6” 18 6 x7’ 47 x5” 26 x6’ x3’ 8 x4” 63 x3” 8 x2’ 3 16 x5’ x2” 3 x1’ 2 x1” 2
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.