You are on page 1of 111

EL PT K ER KR PTOGRAF S

zge ET N

YKSEK L SANS TEZ ELEKTR K-ELEKTRON K MHEND SL

GAZ N VERS TES FEN B L MLER ENST TS

MAYIS 2006 ANKARA

TEZ B LD R M Tez iindeki btn bilgilerin etik davran ve akademik kurallar erevesinde elde edilerek sunulduunu, ayrca tez yazm kurallarna uygun olarak hazrlanan bu almada orijinal olmayan her trl kaynaa eksiksiz atf yapldn bildiririm.

iv

EL PT K ER KR PTOGRAF S (Yksek Lisans Tezi) zge ET N GAZ N VERS TES FEN B L MLER ENST TS Mays 2006 ZET Bu tezde, eliptik erilerin matematiksel temelleri incelenmi ve bir eliptik eri ifreleme sisteminin simlasyonu gerekletirilmitir. Ayrca, dier eliptik ak eri ifreleme kripto sistemlerinin sistemlerinin kripto analizine de ile deinilmitir. Eliptik eri kriptografisinin algoritmas RSA ve DSA gibi anahtarl matematiksel algoritmalar karlatrlmtr. Ak anahtarl ifreleme sistemlerinde, algoritmann kulland yntemlerin kullanlan algoritmann uzunluundan daha nemli olduu grlmtr. Eliptik eri ifreleme sisteminin simlasyonu iin C++ ile bir program yazlmtr.

Bilim Kodu : 905.1.011 Anahtar Kelimeler : Eliptik eriler, Kriptografi, RSA, zet fonksiyonu Sayfa Adedi : 96 Tez Yneticisi : Yrd.Do.Dr. Erkan AFACAN

ELLIPTIC CURVE CRYPTOGRAPHY (M.Sc. Thesis) zge ET N

GAZ UNIVERSITY INSTITUTE OF SCIENCE AND TECHNOLOGY May 2006 ABSTRACT In this thesis, the mathematical foundations of elliptic curves are studied and the simulation of an elliptic curve crypto system is realized. Also, the cryptanalysis of elliptic curve crypto systems are covered. The algorithm of the elliptic curve cryptography is compared with the algorithms of other public key crypto systems such as RSA and DSA. In public key cryptography, the mathematical methods behind the algorithms are found to be more important than the length of the algorithm. For the simulation of the elliptic curve crypto system a program is written in C++.

Science Code Key Words Page Number Adviser

: 905.1.011 : Elliptic curves, Cryptography, RSA, Hash function : 96 : Yrd.Do.Dr. Erkan AFACAN

vi

TEEKKR almalarm boyunca deerli yardm ve katklaryla beni ynlendiren Sayn Hocam Yrd.Do.Dr. Erkan AFACANa, ayrca almalarmda beni hep destekleyen sevgili aileme ve manevi destekleriyle beni hibir zaman yalnz brakmayan ok deerli Amirim Hv.Mu.Alb. H.Fehmi KIRCA ve arkadalarm Berna GNE ve mer Faruk AYRANCIya teekkr bir bor bilirim.

vii

NDEK LER Sayfa ZET ............................................................................................................. iv ABSTRACT..................................................................................................... v TEEKKR.................................................................................................... vi NDEK LER ............................................................................................... vii ZELGELER N L STES ............................................................................... xi EK LLER N L STES ................................................................................... xii RES MLER N L STES ................................................................................. xiii S MGELER VE KISALTMALAR ................................................................... xvi 1. G R ..........................................................................................................1 2. SAYI TEOR S ............................................................................................4 2.1. Genel Kavramlar ..................................................................................4 2.2. Asal Saylar..........................................................................................6 2.3. Tek Ynl Fonksiyon............................................................................7 2.4. Arka Kapl Tek Ynl Fonksiyonlar (Trapdoor One-Way Functions) ............................................................................................7 2.5. Grup Teorisi .........................................................................................8 2.6. GF(p) de s Alma lemi .....................................................................9 2.7. GF(p) de Ayrk Logaritmalar..............................................................10 2.8. En Byk Ortak Blen (Greatest Common Divisor) ...........................11 2.9. klid Algoritmas (Euclidean Algorithm).............................................12 3. KR PTOLAMANIN TEMEL KAVRAMLARI................................................14 3.1. Terminoloji ve Notasyon.....................................................................14

viii

Sayfa 3.2. Genel Kavramlar ................................................................................15 3.3. Kripto Sistemleri.................................................................................16 3.4. Kriptolama Gvenlii ve Kriptoanaliz .................................................17 3.5. Mutlak ve Hesaplama Gvenlii.........................................................17 4. G ZL VE AIK ANAHTARLI KR PTO S STEMLER .................................19 4.1. Gizli Anahtarl (Simetrik) Kripto Sistemler ..........................................19 4.1.1. Blok ifreleme ..........................................................................20 4.1.2. Dizi ifreleme ...........................................................................21 4.2. Ak (Asimetrik) Anahtarl Kripto Sistemler ........................................22 4.2.1. Ak anahtarl kripto sistemlerin ilkeleri ....................................23 4.2.2. Ak anahtarl kripto sistemlerin karakteristikleri ......................24 4.2.3. Ak anahtarl kripto sistem uygulamalar.................................26 4.2.4. RSA kripto sistemi....................................................................27 4.2.5. Ayrk logaritma (Discrete logarithm) .........................................33 4.2.6. El-Gamal ak anahtarl kripto sistem.......................................34 4.2.7. Diffie-Hellman anahtar anlamas (Diffie-Hellman key agreement)...............................................................................38 5. EL PT K ER TEOR S ............................................................................40 5.1. Eliptik Eriler ......................................................................................41 5.2. Sonlu Alanlardaki Eliptik Eriler .........................................................44 6. EL PT K ER KR PTOGRAF S (ECC) ...................................................50 6.1. Diffie-Hellman Anahtar Deiimi rnei ............................................50 6.2. Eliptik Eri Kriptografisinin Kullanm Alanlar .....................................53

ix

Sayfa 6.2.1. Saysal imzalar.........................................................................53 6.2.2. Ak metnin eliptik eri zerinde yer alan bir noktaya gmlmesi................................................................................55 6.3. Eliptik Eri Kriptografisinin Gvenlii .................................................58 7. ZET FONKS YONLARI ..........................................................................59 7.1. Ekstra artlar .....................................................................................61 7.2. Anahtarsz zet Fonksiyonlar ..........................................................62 7.3. Anahtarl zet Fonksiyonlar.............................................................63 8. KR PTOGRAF K PROTOKOLLER ...........................................................65 8.1. Kriptografik Protokol Tanm...............................................................65 8.2. Kriptografik Protokollerin zellikleri ...................................................65 8.3. Hakem (Arbitrator) ve Dzenleyici (Adjudicator) ................................65 8.4. Dzenleyicili (Adjudicated) Protokoller...............................................65 8.5. Kendi leyiini Zorlayan (Self-Enforcing) Protokoller ........................66 8.6. Aktif Ve Pasif Ataklar (Attacks) ..........................................................66 8.7. Tipik Simetrik Algoritma Haberleme Protokol .................................66 8.8. Tipik Ak Anahtar Kripto Sistemi le Haberleme..............................67 8.9. Tipik Karma (Hybrid) Kripto Sistemler................................................67 8.10. Gnlk Hayatta mza........................................................................68 8.10.1. Ak anahtar kripto sistemlerle dijital imza ...........................68 8.10.2. Ak anahtar kripto sistem ve zet fonksiyonuyla imza ........69 8.10.3. Saysal imzalarda inkar edememezlik (Nonrepudiation) ......69 8.10.4. nkar edilemeyen saysal imzalar .........................................70

Sayfa 8.10.5. ifreleme ve saysal imza ....................................................70 8.11. Anahtar Deiimi (Key Exchange) ...................................................71 8.11.1. Ak anahtar metoduyla anahtar deiimi ...........................72 8.12. Arakilit Protokol (Interlock Protocol) ...............................................73 8.13. Saysal mzalarla Anahtar Deiimi .................................................74 8.14. Otentikasyon (Kimlik Dorulama).....................................................75 8.14.1. Ak anahtar kriptografi ile otentikasyon...............................76 8.15. Sr Paylatrma (Secret Splitting) .....................................................77 8.16. Sakl letiim Yolu (Subliminal Channel)...........................................77 8.17. Bit Vadetme (Bit Commitment).........................................................78 8.18. Sfr-Bilgi spat Metodu (Zero-Knowledge Proof)..............................79 9. EL PT K ER KR PTOGRAF S N N C++ LE S MLASYONU ...............81 9.1. Eliptik Eri Kriptografi Algoritmasnn Aklanmas ............................81 9.1.1. Rasgele bir eliptik erinin oluturulmas ..................................81 9.1.2. Eliptik eri zerinde yer alan bir noktaya ak metnin gmlmesi................................................................................82 9.1.3. Anahtar deiimi .....................................................................83 9.1.4. ifreleme.................................................................................84 9.1.5. ifre zme .............................................................................84 9.2. Eliptik Eri Kriptografisinin C++ Uygulamas......................................84 9.2.1. ECC fonksiyonlarnn aklanmas ...........................................85 10. SONU ...................................................................................................94 KAYNAKLAR ................................................................................................95 ZGEM ...................................................................................................96

xi

ZELGELER N L STES izelge Sayfa

izelge 3.1. ifrelenen mesaja kar yaplan atak tipleri...............................18 izelge 5.1. E23(1, 1) Eliptik eri zerindeki noktalar ....................................45 izelge 5.2. y2 = x3+x+6 Eliptik eri zerindeki ift katl kkler......................47 izelge 6.1. ECC ile dier kripto sistemler arasndaki gvenlik aral .........58

xii

EK LLER N L STES ekil Sayfa

ekil 4.1. Gizli-anahtarl kripto sistem ile haberleme...................................20 ekil 4.2. Blok ifreleyici ...............................................................................21 ekil 4.3. Ak anahtarl kripto sistemi ..........................................................26 ekil 5.1. y2= x3-4x+0.67 Eliptik erisi...........................................................42 ekil 5.2. y2= x3-6x+6 Eliptik erisi................................................................43 ekil 5.3. y2= x3-7 Eliptik erisi zerindeki iki noktann toplam.....................43 ekil 5.4. y2= x3-3x+5 Eliptik erisi zerindeki P noktasnn ift kat .............44 ekil 7.1. CBC tabanl MAC algoritmas .......................................................63 ekil 9.1. E Eliptik erisi zerindeki noktalarn bulunmas ............................82

xiii

RES MLER N L STES Resim Sayfa

Resim 9.1. C++ daki programn ana arabirim ekran grnts....................85

xiv

S MGELER VE KISALTMALAR Bu almada kullanlm baz simgeler ve ksaltmalar, aklamalar ile birlikte aada sunulmutur. Simgeler GF(p) (n) R Q Aklama Galois cismi Euler fonksiyonu Gerel saylar Rasyonel saylar

Ksaltmalar AT&T C D DSA DSE E ECC HMAC IDEA IP K MAA MAC MCC MD5 NIST P

Aklama Amerika Telefon ve Telgraf Merkezi ifreli metin (ciphertext) Deifreleme (decipher (decode)) Dijital mza Algoritmas Veri ifreleme Standard ifreleme (encipher (encode)) Eliptik Eri Kriptografisi zetlenmi Mesaj Dorulama Algoritmas Uluslar aras Veri ifreleme Algoritmas Internet Protokol Anahtar (key) Mesaj Dorulama Algoritmas Mesaj Dorulama Kodlar Mesaj Kontrol Karakteri 5. Mesaj Derleme Algoritmas A Sistemleri ve Bilgi Teknolojisi Ak metin (plaintext)

xv

Ksaltmalar PKDS PKS RC5 RSA SHA SAFER

Aklama Ak Anahtar Datm emas Ak Anahtarl Kripto Sistemleri 5. River ifreleme Ronald Rivest, Adi Shamir, Leonard Adleman Gvenli zet Algoritmas Gvenli ve Hzl ifreleme Yntemi

1. G R Gnmzde, kullanmaya teknolojinin geliimiyle beri birlikte, bilgisayarlar ve internet

hayatmzda ok byk yer tutmaya balamtr. Daha ok insann interneti balamasndan internet zerinden ilemler yapmak kanlmaz bir hal almtr. Bunun en nemli sonucu olarak e-ticaret byk bir nem kazanmtr. nternet Protokol (IP) alarndaki sorunlardan biri gvenliktir. Gvenlii salamann yolu da ifreleme ve kimlik denetiminden gemektedir. E-ticaret ve bankaclk sisteminin geliimi ile birlikte bu sistemlerin gvenliinin salanmas iin ifreleme algoritmalar kullanlmaya balanmtr. ifreleme ve ifre zme dnm fonksiyonlarnn tek ve ayn anahtar kulland simetrik kripto sistemler, hzl ve birok adan etkin olmalarna, mutlak ve koulsuz gvenlik sunabilmelerine karn, tm sistem gvenliinin kullanlan anahtarla belirlenmesi bu sistemlerin en zayf yann oluturmaktadr. Bilgisayar bilim ve teknolojisinin eritii yksek dzey gz nne alndnda, simetrik kripto sistemlerin mutlak biimde korumak zorunda olduklar anahtarlarn koruma ve datm maliyetinin ne kadar yksek ve koruma ileminin ne kadar zor olduu grlebilir. Sadece bu nedenle, karlkl haberleme iinde olan iki tarafn gvenli datm kanallar oluturmas zellikle gncel bankaclk sisteminde yaygn grlen bir rnektir. te yandan, ifreleme ve ifre zme dnm fonksiyonlarnn kullandklar anahtarlar birbirinden ayrlarak anahtar gvenlii sorunu kesin biimde zlebilir. Anlan zm, anahtarlarn farkll nedeniyle Asimetrik Kripto Sistemi olarak bilinen ve ilk kez 1976'da Diffie ve Hellman (El-Gamal ifreleme algoritmas) tarafndan belirlenen yeni bir dnm tekniiyle elde edilmektedir. ifreleme ve ifre zme dnm fonksiyonlarnn birbirinden farkl anahtarlar kullanmas, ifreleme anahtarnn herkes tarafndan bilinen

ak bir anahtar olmasyla sonulanr. ifre zme anahtar ise sadece yetkili alc tarafndan bilinen gizli anahtar niteliini kazanr. ifre anahtar halka ak tutulduu iin, asimetrik ifreleme algoritmalar ayn zamanda Ak Anahtarl Kripto Sistemleri (Public Key Cryptosystem-PKS) olarak da bilinir. Bu almada asimetrik ifreleme algoritmalarnn en nemlisi ve gnmzde de ska kullanlan, Eliptik Eri ifreleme algoritmas (ECC) incelenmitir. kinci blmde, dier blmlerde anlatlacak olan eliptik eri ve dier ifreleme yntemlerinde kullanlan karmak matematiksel yntemlerin temelini oluturan say teorileri hakknda yardmc zet bilgiler verilmektedir [1-2]. nc blmde, kriptolojide kullanlan temel kavramlar ve kriptolama gvenlii ile kriptoanaliz konusunda genel bilgi verilmektedir [3]. Drdnc blmde, Gizli Anahtarl Kripto Sistemlerinden Blok ve Dizi ifreleme yntemi incelenmektedir. Daha sonra, eliptik eri kripto sisteminin de iinde bulunduu ak anahtarl kripto sistemlerin genel ilke ve karakteristikleri aklanmaktadr [4]. Ak anahtarl kripto sistemlerden RSA ve El-Gamaln temel yapsndan ve saysal imza uygulamalarndan bahsedilmektedir. Beinci blmde, eliptik eriler hakkndaki genel teoremlerden sonra, eliptik erinin seimi, sonlu cisimlerdeki eliptik erilerin genel karakteristikleri, eliptik eri zerindeki noktalarn oluturaca Grupun elde edilmesi incelenmektedir. Altnc blmde, hazrlanan tezin temelini oluturan Eliptik Eri Kriptografisi konusu incelenmektedir. Eliptik Eri ve kullanarak saysal ak metinlerin uygulamalar ifrelenmesi/ifresinin anlatlmaktadr. zlmesi imza

Yedinci blmde, eliptik eri kriptografisi saysal imza uygulamasnda ska kullanlan zet (hash) fonksiyonlarnn yaps ve uygulama alanlarndan bahsedilmektedir [5]. Sekizinci blmde, kriptografik protokollerin zellikleri ve ifrelemede kullanlan protokol eitleri hakknda aklama yaplmaktadr. Son blmde ise, eliptik eri kriptografisinin temel zelliklerini simlasyon yntemini kullanarak elde eden ve Borland C++ 6.0 ile gelitirilmi programn aklamasna yer verilmitir.

2. SAYI TEOR S 2.1. Genel Kavramlar 2.1. Tanm a, b ve n tamsay ve n 0 art iin, eer a ve bnin fark nin k kat kadarsa bu u ekilde gsterilebilir: ab=k*n veya a b mod n 2.1. Teorem a1, a2 ve n tamsay ve n 0 art iin, (a1 op a2) mod n [(a1 mod n) op (a2 mod n)] mod n denklii gsterilebilir, burada op, + veya * eklinde bir operatr olabilir. Bir a = b mod n eitlii, a ve b ayn n ile blndnde ayn kalan verdiklerini ifade eder. rnein, 100 = 34 mod 11 Genellikle 0 b n-1 dir. 2 mod 7 = 9 mod 7

bye a mod nnin kalan denir. Tamsay modl n ile yaplan btn aritmetiksel ilemlerde tm sonular 0 ve n arasnda olur. Toplama : kartma : arpma : a+b mod n a-b mod n = a+(-b) mod n a*b mod n

tekrarlanan toplamdan tretilir. ne a ne de b sfr deil iken a*b = 0 olabilir.

2.1. rnek 2*5 mod 10 Blme : a/b mod n

b nin tersi ile arpmak gibidir: a/b = a*b-1 mod n eer n asal ise b-1 mod n vardr. b*b-1 = 1 mod n

2.2. rnek 2*3=1 mod 5 bu nedenle 4/2=4*3 = 2 mod 5 dir. Tamsaylarla modl n toplama ve arpma aadaki kurallar ile bir deimeli halkadr. Birleme : (a+b)+c = a+(b+c) mod n

Deime : Dalma :

a+b = b+a mod n (a+b)*c = (a*c)+(b*c) mod n

Ayn zamanda tamsay modl nlerinde, istenirse nce ilem yaplp sonra modl ne indirgenebilecei gibi, nce modl ne gre indirgenip daha sonra ilem yaplabilir. a+/-b mod n = [a mod n +/- b mod n] mod n (a*b) mod n =((a mod n)*(b mod n)) mod n Eer n, p doal says olmaya zorlanrsa bu form bir Galois cismi olur ve GF(p) ile gsterilir ve tm tamsay aritmetiindeki normal kurallar geerlidir. 2.2. Asal Saylar Asal saylar, ak anahtarl kripto sistemlerinde byk rol oynarlar. Asal saylarla ilgili karmza kan en nemli fonksiyonlar, asal bir saynn oluturulmas ve bir saynn asal olup olmadnn test edilmesidir. Asal say oluturma, verilmi bir [r1,r2] tamsaylar aralnda asal say bulma ilemidir. 2.2. Tanm an-1 1 mod n artn ve 1< a< n artn salayan n tamsaysna a tabanna gre szde asal (pseudo prime) say denir. n tamsays iin Euler fonksiyonu (n), n den daha kk olan ve n ile aralarnda asal olan btn pozitif tamsaylarn saysn verir.

p asal ise; (p) = p-1 dir. n =p*q ve p, q asal saylar ise (n) = (p)*(q) = (p-1)*(q-1) dir. 2.2. Teorem Eer p bir asal say ve OBEB(a,p)=1 ise p, a tabanna gre bir szde asal saydr. 2.3. Tek Ynl Fonksiyon F: f : X x Y f(x)= y yalnz ve yalnz aadaki artlar tad

takdirde tek ynl bir fonksiyondur: 1. f(x) btn x deerleri iin polinomsal zamanda zmlenebilir olmaldr. 2. Verilen bir y deeri iin x deeri polinomsal zamanda bulunamamaldr. rnek olarak verilirse am mod n x bir modler s alma ilemidir ve kolaylkla yaplabilir, fakat var olan x deerinden m deerini bulmak ayrk logaritma problemine girer ve bunun da hesaplanma sresi polinomsal zmleme sresinden ok daha uzundur. 2.4. Arka Kapl Tek Ynl Fonksiyonlar (Trapdoor One-Way Functions) Arka kapl tek ynl fonksiyonlarda ise tek ynl fonksiyonlara ek olarak analizciye baka bilgiler verilirse fonksiyon daha kolay tersinir hale getirilebilir.

rnein yalnz am mod n deerini bilmekten te buradaki n deerinin iki asal saynn arpm olduunu ve anahtarlarn bu saylara bal olduunu bilmek buradan m deerini bulma aamasnda analizciye ipucu vermi olur. 2.5. Grup Teorisi Verilen herhangi bir G grubu iin bu gruba ait elemanlarn saysna G grubunun mertebesi denir ve ord (G) = |G| sembolyle gsterilir. Eer H grubu G grubunun bir alt grubu ise |H| deeri |G| deerini bler. Bylece eer G grubunun mertebesi bir asal sayysa Gnin tek alt grubu kendisidir. Bu durumda G grubu arpmal olarak yazlabilir. Grup zerinde tanmlanan arpma ileminin aadaki artlar salamas gereklidir: 1) G'nin herhangi eleman a,b,c iin a *(b*c) = (a*b)*c eitlii salanmaldr, 2) G'nin yle bir e eleman vardr ki, G'deki herhangi bir a iin a*e=e*a=a eitlii salanr (yani e etkisiz elemandr), ve de e, G'de bu zellii salayan tek elemandr, 3) G'deki her a eleman iin yle bir b eleman bulmak mmkndr ki a*b = b*a = e

eitlii salansn. Eer bu eitlik salanyorsa b elemanna a elemannn tersi ad verilir. Yukardaki tanmda dikkat edilmesi gereken bir nokta ise ilemimizin deime zellii olduunu varsaymyor oluumuzdur. Yani baz gruplarda yle iki a ve b eleman bulmak mmkndr ki a*b b*a olsun. te yandan eer bir grupta fazladan deime zellii de varsa o gruba "Abel grubu" denir. Gruplar sonlu veya sonsuz sayda eleman ierebilirler. 2.3. Teorem (Fermat teoremi) p bir asal say olsun. Her a tamsays iin ap a mod p denklii ve p ile blnmeyen her a tamsays iin ise ap-1 1 mod p denklii her zaman dorudur. 2.6. GF(p)de s Alma lemi 1. Birok kriptolama algoritmas; b = ae mod p ile verilen s alma ilemini kullanlr. 2.3. Tanm (O notasyonu) f(x) ve g(x) pozitif gerel deerli iki fonksiyon olsun. Yeterince byk her x iin, f(x) < cg(x) eitsizliini salayacak ekilde bir c pozitif gerel says bulunabiliyorsa,

10

f(x) = O(g(x)) veya f = O(g) yazlr. 2. s alma ilemi basit olarak bir n says iin O(n) arpma olan tekrarlanan arpmalardr. 3. Daha iyi bir yntem kare alma ve arpma algoritmasdr. 4. Bir n says iin sadece O(log2 n) arpma yaplr. 2.7. GF(p)de Ayrk Logaritmalar s almada ters problem, bir modl p saysnn ayrk logaritmasnn bulunmasdr. ai = b mod p ileminde a ve i verildiinde b deerini hesaplamak nispeten kolay iken, a ve b deeri verildiinde i deerini bulmak zor bir problemdir. i = logab ile gsterilir ve bu problem ayrk logaritma problemi olarak adlandrlr. Eer p asal ise, herhangi bir b! = 0 iin her zaman bir ayrk logaritmas olan bir olduu gsterilebilir. nn ardl kuvvetleri mod p ile grup oluturur. mod p, 2 mod p,........, p-1 mod p farkldr ve 1 ile p-1 arasnda deer alr. Bu durumda, ya ilkel kk denir ve ayn zamanda bulmak nispeten zordur. Herhangi bir b tamsays ve pnin ilkel kk olan iin bir i ss bulunabilir; b = i mod p 0 i (p-1) dir. s i ayrk logaritma veya indeks olarak gsterilir.

11

2.8. En Byk Ortak Blen (Greatest Common Divisor) 2.4. Teorem a ve n tamsaylar iin, ( a {0,1,...n-1} ); eer a ve n aralarnda asal iki sayysa ann modl ne gre yalnz bir tane tersi vardr ve a-1 sembolyle gsterilir. OBEB ( a,n ) = 1 b [a,n-1], 1= a*b mod n, yani b=a-1 dr. a ve bnin en byk ortak bleni (a,b) a ve bnin her ikisini de blen en byk saydr. klid Algoritmas iki a ve n ( a<n) saysnn en byk ortak blenini bulmak iin kullanlr, eer a ve b nin bleni d ise, d a-b ve a-2b yi bler. rnein, OBEB(56,98)i bulalm. g0=98 g1=56 g2 = 98 mod 56 = 42 g3 = 56 mod 42 = 14 g4 = 42 mod 14 = 0 sonuta OBEB (56,98)=14 olarak bulunur. 2.5. Teorem (Euler genellemesi) Her a ve n tamsays iin; OBEB (a,n) = 1 ise a(n) 1 mod n dir. Buradan eer a*x 1 mod n teoremini OBEB (a,n)=1 ile altrrsak (2.1)

12

x a(n)-1 mod n ifadesi bize a saysnn modl ne gre tersini verir. 2.6. Teorem (in Kalan Teoremi -Chinese Remainder Theorem) Aralarnda asal n1,n2,n3,...,nk tamsaylar iin: x a1 x a2 . . . x ak (mod n1) (mod n2)

(mod nk)

ile verilen denklik sisteminin modl nde, yalnz tek bir zm vardr ve n = n1n2...nk dir. 2.3. rnek x 7 (mod 8), x 3 (mod 5) denklik iftinin mod (8*5) = mod 40 e gre tek bir zm kmesi vardr ve x 23 (mod 40). 2.9. klid Algoritmas (Euclidean Algorithm) a ve b eklinde olan iki tamsaynn en byk ortak blenini aritmetiin esas teoreminde bahsedildii gibi arpanlarna ayrarak ve ortak arpanlarn en byn alarak bulabiliriz. Eer a ve b byk saylarsa bunlarn asal arpanlarn bulmak zor olur; bunun sonucunda da en byk ortak bleni bulmak da zorlar. Saylar teorisinin nemli bir aratrma alan da byk tamsaylar daha abuk arpanlarna ayrma zerine aratrmadr. Eer a ve b nin asal arpanlar bilinmiyorsa, OBEB (a,b) yi bulmak iin abuk bir yol vardr. O da klid algoritmasdr.

13

klid Algoritmas yle alr: a > b olmak zere, a, b'ye blnr. Blm q1, kalan r1 olsun

a = b * q1 + r1 kinci blme ilemi gerekletirilir. b, r1'e blnr ve blm q2, kalan ise r2 olur. b = q2 * r1 + r2 nc olarak r1, r2'ye blnr ve blm q3, kalan ise r3 olur.

r1 = q3 * r2 + r3
. . .

Son olarak rn-1, rn'e blnr ve blm qn+1, kalan ise rn+1 = 0 olur. (2.2)

rn-1 = qn+1*rn + rn+1

rn+1 = 0 olduu iin rn deeri a ve b tamsaylarnn en byk ortak bleni olur. Yani OBEB(a,b) = rn dir.

Bu algoritmadaki ilemler sonsuza kadar gitmez, nk 0 ile a tamsays arasnda sonlu sayda tamsay vardr.

14

3. KR PTOLAMANIN TEMEL KAVRAMLARI Bilgisayar alarnn ve haberleme sistemlerinin gvenliinin salanmas iin kullanlan en nemli ilem, verilerin ifrelenerek anlamsz hale getirilip hedefe gnderilmesi ve hedefte tersi ilem yaplarak tekrar eski hale getirilmesidir. Bir ifreli haberleme iin; 1. ifreleme algoritmas (E) 2. ifre zme algoritmas (D) 3. Bir anahtar bilgisine (K) ihtiya vardr. 3.1. Terminoloji ve Notasyon Kriptoloji, latince gizli anlamna gelen kryptos ve yine latince szck anlamna gelen logos kelimelerinin birleiminden oluan gizli ve gvenli haberleme bilimidir. Kriptoloji temelde iki ksmda incelenir. Birincisi kritik bilgilerin yetkisiz kii ve/veya kurumlardan korunmas amacyla geri dnm mmkn olarak anlalmaz hale getirilmesi yani ifrelenmesi iin kripto sistemlerinin tasarlanmas demek olan kriptografi bilimidir. kinci ksm ise kodlanm veya ifrelenmi olan gizli bilgilerin bulunmasna ynelik almalarn yaplmas demek olan kriptoanaliz bilimidir. Kriptolojide daha ok bilginin gvenlii ve gizlilii zerinde durulmaktadr. Bunun yolu genellikle bilgilerin veya mesajlarn bir takm transformasyonlara tabi tutulmasyla olur. Daha sonra bu bilginin tekrar elde edilebilmesi iin ifreli metne ayn transformasyonlarn tersi uygulanr. Orijinal mesaj burada ksaca m harfiyle, mesaj transformasyona tabi tutma ilemi ifreleme adyla, ortaya kan anlalmaz metin ise ksaca c harfi ile

15

gsterilecektir. Ters transformasyon ileminin ifreli metne uygulanp tekrar orijinal mesaj elde etmeye ynelik yaplan ileme ise ifre zme ad verilir. 3.2. Genel Kavramlar Kriptografi (cryptography): Anlalr bir mesaj anlalmaz ekle dntrme ve mesaj tekrar eski orijinal haline geri dntrme prensipleri ve yntemlerini ieren sanat veya bilimdir. Ak metin (plaintext-P): Anlalr orijinal metin. ifreli metin (ciphertext-C): Dntrlen metin. ifreleyici (cipher): Anlalr bir metni, yerlerini deitirme ve/veya yerine koyma yntemlerini kullanarak anlalmaz ekle dntrmek iin kullanlan bir algoritma. Anahtar (key-K): Sadece gnderici ve alcnn bildii ifreleyici tarafndan kullanlan kritik bilgiler. ifreleme (encipher (encode)-E): Ak metni bir ifreleyici ve bir anahtar kullanarak ifreli metne dntrme sreci. ifre zme (decipher (decode)-D): ifreli metni bir ifreleyici ve bir anahtar kullanarak ak metne dntrme sreci. Kriptoanaliz (cryptanalysis): Bilgi ve anahtar olmakszn anlalmaz mesaj anlalr mesaj olarak geri dntrme prensipleri ve yntemleridir. Ayn zamanda kod krma (codebreaking) olarak da adlandrlr. Kriptoloji (cryptology): Kriptografi ve kriptoanalizin her ikisi.

16

Kod (code): Anlalr bir mesaj bir kod kitab kullanarak anlalmaz ekle dntrme iin bir algoritma. ifreleme (Encryption) c = EK(m). ifre zme (Decryption) m = DK(c). EK, kriptografik sistem olarak bilinen transformasyon ailesinden seilir. Anahtar denilen K parametresi anahtar uzayndan seilir. Dier bir deyile, ifreleme ilemi EK(m)=c fonksiyonunu salayan bire-bir fonksiyondur. EK fonksiyonunun tersi olan DK fonksiyonu ise, DK(c)=m artn salayan ifre zme ilemini gerekletirir. Burada yer alan btn transformasyon ilemleri tersinir olduundan ak bilginin ifreli bilgiden direkt olarak elde edilmesini nlemek iin E ve D algoritmalarnn gizli tutulmas dnlebilir. ifreleme ve ifre zme algoritmalarnn herhangi bir ekilde yetkisiz kiilerin eline gemesine kar yalnzca mesajlaacak kiilerin bilebilecei bir anahtar bilgisi, K, kullanlmaldr. Dolaysyla, mesajlamada nemli olan kriter kullanlan anahtarn gizlilii olacaktr. Sonuta anahtar gizli tutulduu halde algoritmalar ak olabilir. 3.3. Kripto Sistemleri Kripto sistemlerinde kullanlan balca terimler ksaca unlardr; A ile gsterilen Alfabe kavram sonlu sayda elemanlar kmesidir. rnein A={0,1} sk kullanlan ikili (binary) bir alfabedir. P ile gsterilen Ak Metin Uzay (Plaintext Space) ise alfabeden alnm sonlu sayda eleman dizilerinden oluur. rnein P, 0 ve 1 ler den meydana gelen bit dizilerini ierebilir. C ile gsterilen ifreli Metin Uzay (Ciphertext Space) ise yine A alfabesinden alnm fakat P den farkl bir dizili gsteren elemanlardan oluur. K ise daha nce bahsettiimiz Anahtar Uzayn (Key Space) ifade eder. Anahtar yine A

17

alfabesindeki elemanlarn belli uzunluklarda bir araya gelmi elemanlarndan oluur [6]. 3.1. Tanm Bir kripto sistemi aadaki artlar salayan (P,C,K,E,D) belisinden oluur. Burada E ifreleme, D ise ifre zme fonksiyonu veya algoritmasn gsterir.
k K, Dk D fonksiyonuna uyan bir Ek E fonksiyonu vardr. yle ki; Ek: P C ve Dk: C P ve her x P iin Dk(Ek(x)) = x

Kripto sistemleri genel olarak kullanlan protokole gre iki kategori de snflandrlr. Bunlardan birincisi tek ve gizli bir anahtarn ve simetrik bir algoritmann kabul edildii gizli anahtarl kriptografi, ikincisi de biri ak biri ise gizli ve kiiye zel olmak zere iki anahtarn kabul edildii ve asimetrik algoritma kullanm esasna dayanan ak anahtarl kriptografi sistemidir. 3.4. Kriptolama Gvenlii ve Kriptoanaliz ifrelenen metnin ne kadar gvenli olduu ve zmlenmesi iin yaplacak atak tiplerinin neler olduunun bilinmesi nemlidir. izelge 3.1de ifrelenen mesaj zmek iin yaplan atak tipleri ve kripto analistin neler bildii gsterilmitir. 3.5. Mutlak ve Hesaplama Gvenlii ki farkl temel yntem ile ifreler gvenli olabilir. 1. Mutlak Gvenlik: Bilgisayar gc ne kadar fazla olursa olsun ifre hibir ekilde krlamaz.

18

2. Hesaplamaya bal gvenlik: Verilen bilgisayar gc snrlar iinde, hesaplama zamannn ok uzun olmasndan dolay ifre krlamaz. izelge 3.1. ifrelenen mesaja kar yaplan atak tipleri
AtakTipi Sadece ifreli Metin (ciphertext only) Bilinen Dz metin (known plaintext) Kriptolama algoritmas Kodu zlecek ifreli metin Gizli anahtar ile ifrelenen bir veya daha fazla dz-ifreli metin ifti (ifreye atak iin kullanlr.) Seilen Dz metin (chosen plaintext) Kriptolama algoritmas Kodu zlecek ifreli metin Kriptoanalist tarafndan seilen ak metin, bununla birlikte ak metnin gizli anahtar ile retilen ifreli hali eilen ifreli metin (chosen ciphertext) Kriptolama algoritmas Kodu zlecek ifreli metin Kriptoanalist tarafndan seilen kuvvetle muhtemel ifreli metin ve karl olan, gizli anahtar ile retilen zmlenmi ak metin. eilen metin (chosen text) Kriptolama algoritmas Kodu zlecek ifreli metin Kriptoanalist tarafndan seilen ak metin, bununla birlikte ak metnin gizli anahtar ile retilen ifreli hali Kriptoanalist tarafndan seilen kuvvetle muhtemel ifreli metin ve karl olan, gizli anahtar ile retilen zmlenmi ak metin. Kriptoanalistin bildii Kriptolama algoritmas Kodu zlecek ifreli metin (istatistiksel atak, eksiksiz arama)

Hesaplamaya bal gvenlik iin ifreleme algoritmas ve kullanlan anahtar uzunluu nemlidir. zmleme sresi iin gerekli olacak zaman hesab ortalama olarak alternatif ifre saysnn yars kadardr. Bilgisayar hesaplama gcn ise paralel mimarili tasarm ile artrmak mmkn olmaktadr.

19

4. G ZL VE AIK ANAHTARLI KR PTO S STEMLER Bu blm, gizli ve ak anahtarl ifrelemeye genel bir giri mahiyetindedir. lk nce, gizli anahtarl kripto sistemlerden bahsedilmitir. Daha sonra eliptik eri kripto sistemi dndaki ak anahtarl ifreleme yntemleri iin, uygulanabilir olarak gsterilen en bilindik ifreleme/ifre zme algoritmalar olan DSE, RSA ve El-Gamal algoritmalar incelenmitir. Daha sonra da ak anahtarl sistemler iin, anahtar datm ve anahtar datm ynetimleri incelenmitir. 4.1. Gizli Anahtarl (Simetrik) Kripto Sistemler Gizli anahtarl kriptografik sistemler tarihin ilk devirlerinden beri dnyada kullanm sregelen kriptografik sistemlerdir. Bu sistemlerde ifreleme algoritmas ve ifre zme algoritmas birbirinin tersi eklindedir. ncelikle haberleecek iki grup aralarnda gizli bir anahtar tespit ederler. Eer bu iki grup birbirlerine yakn yerlerde yer almyorlarsa gvenli bir haberleme kanal veya gvenilir bir kurye yoluyla anahtarlar birbirlerine ulatrabilirler. Bir taraf ifreleme algoritmasnda girdi olarak ak metin (P) ve anahtar (K) uygular, ardndan ifreli metin (C) yi elde eder ve mesajn alcsna gnderir. Mesaj alcs ise ifre zme algoritmasnn girdileri olarak ifreli metin (C) yi ve ayn (K) anahtarn kullanr ve ardndan kt olarak ak metin (P) yi elde eder.

20

Kaynak Mesaj M

K1 Anahtar ile M Mesajnn ifrelenmesi C = EK1(M)

K2 Anahtar ile Cnin ifresinin zlmesi M = DK2(C)

ifresi zlm Mesaj M

Kripto analiz

Anahtar Kayna 1 rasgele bir K1 anahtar oluturulur

Anahtar Kayna 2 K1 anahtarndan rasgele bir K2 anahtar oluturulur

ekil 4.1. Gizli anahtarl kripto sistem ile haberleme Gizli anahtarl kripto sistemleri uygulama sahalarnda ikiye ayrlr; 4.1.1. Blok ifreleme ifreleme ve ifre zme ileminde metinler sabit uzunluklu dizilere blnp blok blok ileme tabi tutulur (rnein 8, 16, 32 bit veya bayt). Anahtar uzunluu ise yine sabittir. Blok ifrelemeye rnek olarak IBM tarafndan 1976 ylnda tasarlanan ve A.B.D Teknoloji Standartlar Enstits NIST tarafndan her drt ylda bir gvenlii onaylanan DES (Data Encryption Standard) algoritmas verilebilir. DES algoritmas ifrelenecek metni 64 bitlik bloklar halinde ifreler, kulland anahtar boyu ise yine 64 bittir. Yalnz burada anahtarn iaret bitlerinin ayklanmalar durumunda anahtar boyunun 56 bite indiini hatrlatmak gerekir (ekil 4.2).

21

M1

M2

M3

Mn

.......

C1

C2

C3

Cn

ekil 4.2. Blok ifreleyici 4.1.2. Dizi ifreleme Bu eit ifrelemede algoritmann girdisi yalnzca anahtardr. Algoritma anahtardan rasgele bir diziye ok benzeyen kayan anahtar dizisi retir. Daha sonra kayan anahtar dizisinin elemanlar ile ak metin veya kapal metin dizisinin elemanlar ikili tabanda toplanarak ifreleme veya ifre zme ilemi tamamlanr. Dizi ifreleme algoritmalarna rnek olarak RC4 algoritmas gsterilebilir. Mesaj bit bit iler. (dizi olarak) En ok bilineni Vernam ifreleyicisidir (ayn zamanda tek kullanmlk sistem (one-time pad) de denir). 1917de AT&T de alan Vernam tarafndan gelitirilmitir. Basit olarak mesaj bitlerini rasgele anahtar bitlerine ekler. Mesaj biti kadar anahtar biti gerekir. Pratikte zordur. Anahtar tamamen rasgele olduu iin koulsuz gvenlik salanmtr.

22

Byle byk bir anahtar datm g olduu iin anahtar dizisi daha kk (taban) bir anahtardan retilebilir. Bunun iin rasgele sembol fonksiyonlar kullanlr. Her ne kadar bu ok kolay gzkse de pratikte kriptografik olarak gl iyi bir rasgele fonksiyon bulmak ok zordur. Bu halen birok aratrmann konusudur.

4.2. Ak (Asimetrik) Anahtarl Kripto Sistemler Ak anahtarl kriptografinin gelimesi, kriptografi tarihindeki en byk devrimdir. Balangcndan gnmze kadar, btn kriptografik sistemler, permtasyon ilemlerinin temel alnmasyla oluturulmulardr. Sadece elle hesaplanabilen algoritmalarla alabilme dneminden sonra, ifreleme/ifre zme yapan rotor makinelerinin ortaya kmas sonucunda, geleneksel kriptografide byk bir gelime kaydedilmitir. Elektromekanik rotor, ok fazla inceliklere sahip ve karmak kriptografik sistemlerin gelitirilebilmesini salamtr. Mevcut bilgisayarlarla daha karmak sistemler tasarlanm ve en tannanlarndan olan -IBMin- Lucifer giriimi gelierek DESi oluturmu ve DES dnyadaki kriptografi teknikleri arasnda en yksek seviyeye gelmitir. Rotor makineleri ve DES, nemli avantajlar sunmalarna ramen, halen permtasyon ilemlerine bamldrlar. Ak anahtarl kriptografi, daha nceki gelimelerden radikal bir koputur. Ak anahtarl kriptografik sistemlerin en nemli zellikleri, permtasyondan ok matematiksel ilevler zerine temellenmi olmalardr. Daha da nemlisi, ak anahtarl kriptografi, tek anahtar kullanan simetrik geleneksel ifreleme algoritmalarnn tersine, iki ayr anahtarn asimetrik kullanmn ngrr. Anahtar datm ve kimlik denetimi gibi gizlilik ve gven gerektiren durumlarda, iki anahtar kullanm etkili sonular ortaya koymutur.

23

Ak anahtarl ifreleme ile ilgili baz yaygn, yanl bilgilerden bahsetmek uygun olacaktr. Bu yanl dncelerden birisi, ak anahtarl ifrelemenin, kripto analize kar geleneksel ifreleme yntemlerinden daha direnli olduudur. rnein byle bir iddia, Gardnern mehur Scientific America adl 1977 ylnda yaynlad makalesinde yaplmtr. Aslnda, ifrelemenin gvenlii, anahtarn uzunluuna ve krlan ifreli metnin ierdii hesapsal ilemlerin karmaklna dayanr. doru olamamaktadr. Dier bir yanl dnce de, genel amal kullanm iin gelitirilmi bir teknik olan ak anahtarl ifrelemenin, geleneksel ifrelemeyi modas gemi klddr. Tam tersine, geleneksel ifrelemeden vazgeilecei sans, ak anahtarl ifreleme yntemlerinin, matematiksel fonksiyonlarndan dolay, ihtimal d gzkmektedir. Son olarak, ak anahtarl ifreleme kullanlrken, geleneksel ifrelemenin daha hantal anahtar datm merkezleri ile karlatrldnda, ak anahtarl sistemlerin anahtar datmnn zerinde kafa yorulmas gerekmeyen, sradan ve basit bir i olduuna dair yanl bir anlay vardr. Ancak bu kannn tersine ak anahtarl ifreleme yntemleri incelendiinde, geleneksel ifreleme yntemlerinin ihtiya duyduu merkez temsilciler ve prosedrlerin, ak anahtarl ifrelemenin ihtiya duyduklarndan daha karmak ve etkili olmad grlmektedir. 4.2.1. Ak anahtarl kripto sistemlerinin ilkeleri Ak anahtarl ifrelemenin genel amac, gerekletirecei devrim ile geleneksel ifrelemenin en byk iki problemine zm salamaktr. Bu problemlerden ilki gizli anahtarlarn datmdr. Gizli anahtar derken, geleneksel kriptografi uygulamalarnn (DES, IDEA, Blowfish, CAST128, RC5, ...) kulland anahtarlar kastedilmektedir. ster geleneksel ister ak anahtarl ifreleme olsun, kriptoanaliz bak asna gre birini direinden stn tutmak

24

Geleneksel ifrelemeden yararlanarak birbirlerine ifrelenmi metinler gnderecek olan taraflar, ifreleme ve ifre zme ilemleri iin, ya bir ekilde kendilerine ulatrlm olan anahtar kullanacaklar, ya da, bir anahtar datm merkezinden faydalanacaklardr. Ak anahtarl kriptografinin mucitlerinden birisi olan Whitfield Diffie (dieri de Stanford niversitesinden Martin Hellmandr), kriptografinin z olan, iletiimde %100 gvenlik esasn hie sayan bir anahtar datm merkezi kullanma gerekliliini ortadan kaldrmtr. nk taraflarn kullanacaklar gizli anahtarlar bir anahtar datm yetkilisinden almalar, istedii takdirde nc parti bir kiinin iletiimi anlalr klabilecei tehlikesini barndrmaktadr. Diffie, zerinde dnd ikinci problem olan "saysal imza" konusunun, yukarda ifade edilenden farkl bir konu olduunu grmtr. Eer kriptografinin kullanm, sadece askeri konularda deil, zel ve kr amal uygulamalarda da kullanlacak kadar yaygn olsayd, bu durumlar iin kullanlacak elektronik belge ve dokmanlarda da, kt dokmanlarda kullanlan kiisel imzalara gerek duyulacak ve bylece saysal imzalar sayesinde, bir mesaj kimin gnderdii kesinlikle bilinecek, bu da herkesi memnun eden bir yntem olacaktr. 4.2.2. Ak anahtarl kripto sistemlerin karakteristikleri Ak anahtarl ifreleme/ifre zme algoritmalar, ifreleme iin bir anahtara, ifre zme iinse bu anahtarla ilikisi olan ama bu anahtardan farkl ikinci bir anahtara ihtiya duyarlar. Bu durumda gvenlik salanm olur. Bu algoritmalar u nemli karakteristie sahiptirler: Sadece kriptografik algoritma ve ifre zme anahtar verilmiken, bir takm hesaplamalar yolu ile ifreleme anahtarn bulmak mmkn deildir. Bununla beraber RSA gibi baz algoritmalar u karakteristikleri de gsterirler:

25

Her iki benzer anahtar da ifreleme ve ifre zme iin kullanlabilir. Bununla beraber, bir anahtar ifreleme iin kullanlmsa, ifre zme iin dier anahtar kullanlmaldr.

ekil 4.3de, ak anahtarl ifreleme yntemi gsterilmitir. Balca admlar unlardr: 1. Her adaki her son sistem, mesaj alndnda ifreleme ve ifre zme iin kullanacak olduu anahtar parasn yaratr. 2. Her sistem, ifreleme anahtarn herkese eriilebilecek bir dosya ya da yazma ierisine kaydederek paylatrr. Bu anahtarn, ak olan ksmdr (public key). zel anahtar sakl tutulur. 3. Eer, A, Bye bir mesaj yollamak isterse, mesaj Bnin ak anahtarn kullanarak ifreler. 4. B, mesaj aldnda, bu mesaj kendi zel anahtarn kullanarak ifreyi zer. Dier hibir alc mesaj ifreyi zemez, nk mesaj zecek olan zel anahtar sadece B bilir.

26

Kaynak Mesaj M

K1 Anahtar ile M Mesajnn ifrelenmesi C = EK1(M)

K2 Anahtar ile Cnin ifresinin zlmesi M = DK2(C)

ifresi zlm Mesaj M

Kripto analiz

Anahtar Kayna Rasgele K1 ve K2 anahtarlar oluturulur

ekil 4.3. Ak anahtarl kripto sistemi ekil 4.3den de anlald zere her katlmc, dierlerinin ak anahtarlarna eriim hakkna sahiptir. Ve katlmclar zel anahtarlarn yerel olarak yaratrlar. Bu yzden, zel anahtarlarn paylalmasna gerek yoktur. Herhangi bir sebepten tr zel anahtarlar sahipleri tarafndan deitirilmek istenebilirler, bu durumda deimi olan yeni ak anahtar ilgili yerlere yeniden gnderilerek eskisi ile yer deitirilir. 4.2.3. Ak anahtarl kripto sistem uygulamalar Ak anahtarl algoritmalarn nemli snf vardr: 1. Ak anahtar Datm emas (Public-Key Distribution Schemes PKDS), bilginin bir ksmnn gvenli olarak deitirilmesi iin kullanlr (deer iki tarafa baldr). Bu deer gizli anahtar emas iin bir oturum anahtar olarak kullanlr.

27

2. mza emas (Signature Schemes), sadece saysal imza retmek iin kullanlr, burada gizli anahtar imzay retmekte, ak anahtar ise dorulamakta kullanlr. 3. Ak anahtar emas (Public Key Schemes PKS), ifrelemek iin kullanlr, burada ak anahtar mesajlar ifreler, gizli anahtar mesajlarn ifresini zer. Herhangi bir ak anahtar emas, gerekli olan oturum anahtarl mesaj semek suretiyle PKDS olarak kullanlabilir. ou ak anahtar emas ayn zamanda imza emasdr (salanan ifreleme ve ifre zme her iki srada yaplabilir.). 4.2.4. RSA kripto sistemi RSA kripto sistemi, 1978 ylnda "Saysal imza elde etme yntemi ve ak anahtarl kripto sistemler" adl bir makale ile yaynlanmtr. Adn yaratclarnn (Ronald Rivest, Adi Shamir, Leonard Adleman) soyadlarnn ba harflerinden alan RSA kripto sistemi, gndericinin bir yntemle ve herkese bilinen ak bir anahtarla mesajlarn ifreledii bir kripto sistemi olarak tanmlanr. Daha nceki gizli (simetrik) anahtarl sistemlerin tersine anahtar bilmek ifre zme anahtarn ortaya karmaz. Bu sistem hem gizlilik hem de saysal imza salamak amal kullanlabilir. Bu sistemin gvenlii tamsaylarda arpanlara ayrma probleminin kolay olmamas temeline dayanr. RSA kripto sisteminde kiilere ifreli mesaj gnderilebilmesi iin o kiilerin ak anahtarlarna ihtiya vardr. Mesaj alan kiinin de mesaj okuyabilmesi iin gizli bir anahtarnn olmas gerekir. Anahtar oluturma aadaki algoritmada ifade edilmitir.

28

Anahtar oluturma algoritmas Bir A kiisi anahtarn u ekilde oluturur: ki tane farkl, rasgele ve yaklak ayn uzunlukta olan p ve q asal saylar seer. n = pq ve = (p - 1)*(q-1) deerlerini hesaplar.

1 < e < ve OBEB (e, ) = 1 olacak ekilde rasgele bir e says seer.

klid algoritmasn kullanarak, 1 < d < salayan d saysn hesaplar.

ve ed 1 (mod ) koulunu

A'nn ak anahtar (n, e); A'nn gizli anahtar ise d olur.

RSA anahtar oluumunda e ve d tamsaylar srasyla ifreleme ssn ve ifre zme ssn ve n ise mod saysn gsterir. p ve q saylarnn onluk sistemde uzunluklarnn 100 ve dolaysyla da n nin uzunluunun 200 olmas beklenir. Fakat verilecek rneklerde kolaylk olmas asndan kk saylar seilecektir. ifreleme algoritmas 1. B ahs, A'ya bir m mesaj gndermek istiyor. B, m mesajn ifrelemek iin aadakileri yapar: ncelikle A'nn ak anahtarn (n,e) alr. m mesajn [0, n -1] aralnda yazar. Sonra c me (mod n) deerini hesaplar.

29

Oluan c ifresini A'ya gnderir. 2. ifreli c metninden ak metni bulabilmek iin A aadaki ilemi uygular: d gizli anahtarn kullanarak ve m cd (mod n) ilemini uygulayarak m ak metnine ular. NOT: ifre zme sisteminin almasna ed1 (mod ) olduu iin ed = 1 + k eitliini salayan mutlaka bir k tamsays bulunur. Eer OBEB (m, p) = 1 ise Fermat teoreminden dolay; mp-1 1 ( mod p) Eer bu denkliin her iki tarafnn da k(q-1)'inci kuvvetlerini alrsak mk(p-1)(q-1) 1 (mod p) olur ve her iki taraf da m ile arptmzda m1+k(p-1)(q-1) m (mod p) sonucuna ularz. Dier taraftan, eer OBEB (m, p) = p olursa yukardaki denklik yine geerli olur; nk belli bir k tamsays iin m = kp olduunu varsayalm. Bu durumda; mp-1 = (kp)(p-1) = k(p-1)p(p-1) p (mod p). olur. (4.3) (4.2) (4.1)

30

Eer bu denkliin her iki tarafnn da k(q - 1)'inci kuvvetlerini alrsak mk(p-1)(q-1) pk(p-1)(q-1) p (mod p). olur ve her iki taraf da m ile arptmzda m1+k(p-1)(q-1) mp = kp2 kp = m (mod p). buluruz. ki durumda da med m (mod p) olduu grlr. Ayn ekilde, med m (mod q) olur. Sonuta p ve q farkl asal saylar olduu iin, med m (mod n)dir. Bylelikle, cd = med m (mod n) olduu grlr. 4.1. rnek 1. Anahtar oluturma: A ahs p = 2357 ve q = 2551 olan iki tane asal say semi olsun. ncelikle A, n = p * q = 6012707 ve (4.4)

31

= (p- 1) * (q- 1) = 6007800


deerlerini hesaplar. A bir tane e = 3674911 deeri seer. Bu e deeri, OBEB (e = 3674911, = 6007800) = 1 ve 1 < e = 3674911 < = 6007800 koullarn salar. Daha sonra klid algoritmasn kullanarak e * d 1 (mod ) 3674911 * d 1 (mod 6007800) d = 422191 deerini hesaplar. A'nn ak anahtar (n = 6012707; e = 3674911); gizli anahtar da d = 422191 olur. 2. ifreleme: B, m = 5234673 mesajn ifrelemek iin A'nn ak anahtarn, yani (n = 6012707; e = 3674911), alr ve aadaki ekilde olduu gibi kapal metin c'yi hesaplar: c me (mod n) = 52346733674911 (mod 6012707) 3650502 ve bu deeri A'ya gnderir. 3. ifre zme: A, gelen c kapal metninden m ak metnini aadaki gibi hesaplar: m cd (mod n) = 3650502422191 (mod 6012707) 5234673

32

RSA imza emas RSA kripto sistemi saysal imzalar iin de kullanlabilir. (n, e) A ahsnn ak anahtar, d says da A'nn gizli ifre zme ss olsun. ncelikle mesajn imzalanabilmesi iin m mesajnn {0,1,, n-1} arasnda olmas istenir, daha sonra hesaplamalar yaplr. mzalama A B'ye imzal m mesajn gndermek isterse, mesaja kendisinin kapal anahtarn uygular, yani = md mod n deerini hesaplar. Daha sonra (m, ) imzal mesaj B'ye gnderir. mzay dorulama B, A'dan ald (m, ) imzal mesaj dorulamak iin m = e mod n deerini hesaplar. kan sonu m ise mesaj dorulanm olur. 4.2. rnek 1. Anahtar Oluturma: A kiisi p = 7927 ve q = 6997 asal saylarn seer ve n = pq = 55465219 ve = 7926* 6996 = 55450296 deerlerini hesaplar. Daha sonra A, ed = 5d 1 (mod 55450296) eitliinden d = 44360237

33

saysn bulur. A'nn ak anahtar (n = 55465219, e = 5); gizli anahtar d = 44360237 olur. 2. mzalama: m = 31229978 mesajn imzalamak iin A unu hesaplar: = md mod n = 3122997844360237 mod 55465219 30729435 ve (m = 31229978, = 30729435)'yi B'ye gnderir. 3. mzay Dorulama: (m = 31229978, = 30729435)'yi alan B mesaj dorulamak iin unu yapar: m = e mod n = 307294355 mod 55465219 31229978 kan say m olduu iin imza dorulanm olur. 4.2.5. Ayrk logaritma (Discrete logarithm) RSA kripto sisteminde, RSA fonksiyonu m olarak verilen bir elemann e. kuvvetini oluturur. Bu fonksiyon bire-bir bir fonksiyondur ve etkili bir ekilde hesaplanr. Eer nnin arpanlara ayrlmas bilinmiyorsa, e. kk hesaplamak iin etkili bir algoritma yoktur. Saylar teorisinde hesaplamas kolay fakat tersinin hesaplamas zor olan baka fonksiyonlar da vardr. Bunlardan en nemlilerinden biri de sonlu cisimlerde kuvvet almadr. Basit olarak sadece asal cisimler dnlecektir. p bir asal say ve g de Zp* de bir ilkel kk olsun. Ayrk kuvvet fonksiyonu (discrete exponential function) Exp: Zp-1 Zp*, x a gx,

34

tekrarl karesini alma algoritmas rneinde olduu gibi etkili bir ekilde hesaplanabilir. Kuvvetin logaritmas fonksiyonunun tersini hesaplamak iin etkili bir algoritma bilinmemektedir. Bu tahmine ayrk logaritma tahmini (discrete logarithm assumption) denir. 4.2.6. El-Gamal ak anahtarl kripto sistemi El-Gamal ak anahtarl kripto sistemi, anahtar transferi modunda DiffieHellman anahtar anlamas (Diffie-Hellman Key Agreement) olarak grlebilir. Gvenilirlii ayrk logaritma problemi ve Diffie-Helman probleminin kolay zlememesi temeline dayanr. Temel El-Gamal ve genelletirilmi ElGamal ifreleme emas bu blmde tanmlanmtr. El-Gamal ak anahtarl ifrelemede anahtar oluturma algoritmas Her kii kendi ak anahtarn ve buna bal gizli anahtarn oluturur. Bunu oluturmak iin A ahs unlar uygular: 1. ok byk rasgele bir p asal says ve mod p ye gre tamsaylarn oluturduu arpm grubu Zp* nin bir reteci y oluturur. 2. 1 a p - 2 eklinde olan bir a tamsays seer ve a mod p deerini hesaplar. 3. A'nn ak anahtar (p, , a ); A'nn gizli anahtar ise a olur. El-Gamal ak anahtarl ifreleme algoritmas B ahs A iin m mesajn ifrelesin. 1. ifreleme: B mesaj ifreleme iin unlar yapar:

35

A'nn ak anahtarn (p, , a ) alr. mesaj {0, 1, , p-1} aralnda m tamsays olarak ifade eder. 1 k p -2'yi salayan rasgele bir k tamsays seer. = k mod p ve = m * ( a)k mod p deerlerini hesaplar. Son olarak c = (, ) kapal metnini A'ya gnderir.

2. ifre zme: c kapal metninden m ak metine ulamak iin A unlar yapar: a gizli anahtarn kullanarak -a mod p deerini hesaplar (-a = -ak mod p). -a * mod p deerini hesaplayarak m'yi bulur.

-a * -ak * m ak m (mod p) 4.3. rnek 1. Anahtar Oluturma: A ahs bir p = 2357 asal says ve = 2 Z* bir rete seer. Buna ilave olarak bir a = 1751 gizli anahtar seer ve a mod p = 21751 mod 2357 1185 deerini hesaplar. A'nn ak anahtar (p = 2357, = 2, a = 1185)tir. 2. ifreleme: m = 2035 mesajn ifrelemek iin B ahs rasgele bir k = 1520 tamsays seer ve

36

= 21520 mod 2357 1430 ve = 2035 *11851520 mod 2357 697 deerlerini hesaplar. Son olarak B ( = 1430, = 697)'yi A'ya gnderir. 3. ifre zme: A gelen kapal metni zmek iin -a = 1430-1751 1430606 mod 2357 872 bulur ve m mesajna da m = 872 *697 mod 2357 2035 bylece ular. El-Gamal imzas El-Gamal kripto sisteminde imza RSA'da olduu gibi mesajn doru kiiden geldiini kontrol etmek iin kullanlr. Sadece kapal metin yerine imzalanm kapal metin gnderilerek o kapal metnin istenen kiiden gelip gelmedii de kontrol edilmi olur. A ahsnn ak anahtar (p, , a = y) ve gizli anahtarnn da a olduu dnlsn. mza algoritmas m mesajnn Zp nin bir eleman olduu dnlr. Eer deilse zet fonksiyonu kullanlarak m mesajnn Zp nin eleman olmas salanr. A ahs m mesajn u ekilde imzalar: 1. Rasgele bir t tamsays seer; t tamsays 1 t p - 2 ve OBEB(t, p-1) = 1 koulunu salamaldr. 2. r = t ve s = t-1(m -ra) mod (p -1) eitliklerini kurar.

37

3. (m, r, s) A'nn imzal mesajdr. Dorulama (m, r, s) imzal mesaj alan B ahs ald mesajn A'dan geldiini u ekilde dorular: 1. ncelikle 1 r p - 1 olduunu kontrol eder. Eer deilse imzay reddeder. 2. Daha sonra v = m ve w = yrrs deerlerini hesaplar (Buradaki y says A'nn ak anahtarndaki y saysdr. ) 3. Eer v = w eitlii salanyorsa imza kabul edilir, aksi takdirde reddedilir. 4.4. rnek 1. Anahtar Oluturma: A ahs bir p = 2357 asal says ve = 2 Z* bir rete seer. Buna ilave olarak bir a = 1751 gizli anahtar seer ve a mod p = 21751 mod 2357 1185 deerini hesaplar. A'nn ak anahtar (p = 2357, = 2, a = 1185) tir. 2. mza Oluturma: Basit olmas asndan mesaj m = 1463 olarak seilsin (Eer mesaj p asal saysndan byk olsayd zet fonksiyonundan geirilirdi). m = 1463 mesajn imzalamak iin A nce rasgele bir t = 1529 says seer, daha sonra r = t mod p = 21529 mod 2357 1490 ve t-1 mod (p - 1) = 1529-1 mod (2356) 245

38

s = t-1(m - ra) mod (p - 1) = 245(1463 1490 * 1751) mod 2356 1777 A'nn imzas (m = 1463, r = 1490, s = 1777) 3. mzay Dorulama: B ald imzal mesaj dorulamak iin nce v = m mod p = 21463 mod 2357 1072 deerini hesaplar. Daha sonra w = yrrs mod p = 1185149014901777 mod 2357 1072 deerini hesaplar ve v = w olduu iin imzay kabul eder. 4.2.7. Diffie-Hellman anahtar anlamas (Diffie-Hellman key agreement) Diffie-Hellman anahtar anlamas, anahtar datma problemine ilk pratik zmdr. s alarak anahtar deitirme olarak da bilinen bu sistem daha nce hi haberleme salamam iki tarafn ak kanal zerinden mesajlarn birbirlerine gndererek ortak bir anahtar yaratmas temeline dayanr. p yeteri kadar byk bir asal say olsun ve Z*p de ayrk logaritma problemini zmek mmkn olmasn. Ayrca, g Z*p da ilkel bir kk olsun. p ve g herkes tarafndan bilinsin. A ve B kiileri aadaki yolu izleyerek ortak bir anahtar yaratabilirler: Diffie-Hellman anahtar anlamas algoritmas A, 0 a p - 2 eitsizliini salayan ve rasgele bir a says seer. c = ga deerini bulur ve bunu B'ye gnderir.

39

B, 0 b p - 2 eitsizliini salayan ve rasgele bir b says seer. d = gb deerini bulur ve bunu A'ya gnderir. A, ortak anahtar k'y u ekilde hesaplar:

k = da = (gb)a B, ortak anahtar k'y u ekilde hesaplar:

k = cb = (ga)b Bylelikle A ve B aralarnda ortak bir anahtar olan k iin anlam olurlar.

40

5. EL PT K ER TEOR S Bu blmde, matematikteki birok soyut cisimde yer alan eliptik eriler hakkndaki genel teoriden bahsedilmitir. Eliptik erilerin arkasnda yatan temel kavramlar hakknda bilgi verilmesi amalanmaktadr [7]. Eliptik eriler elips deildirler. Bu ekilde adlandrlmalarnn sebebi, bir elipsin emberinin hesaplanmas iin kullanlan kbik denkliklere benzer ifadeler ile gsterilmeleridir. Bir K cismini ele alrsak, K cismi, R Gerel saylar, Q Rasyonel saylar, C- Kompleks saylar veya pnin asal bir say olduunu kabul edersek, q=pr elemanlarndan oluan Fq sonlu cismi olabilir. GF(2) sonlu cisminin karakteristii 2, gerel ve kompleks saylarn karakteristii ise sonsuzdur. 5.1. Tanm (Karakteristik) Bir cisimde 1 saysna kendisini ekleyelim. Eer 1+1 = 0 oluyorsa bu cismin karakteristii 2 dir. Eer 1+1+1 = 0 oluyorsa bu cismin karakteristii 3 tr. Genel olarak 1+1+1++1 = 0 oluyorsa cismin karakteristii n dir. n Eer cisimde 1 saysna kendisi sonsuz defa eklenebiliyorsa cismin karakteristii 0 dr. Herhangi bir K cismi iin, eliptik erinin genel denklemi; y2+axy+by= x3+cx2+dx+e ile verilir. Eer K cisminin karakteristii Char(K) = 2 ise E. 5.1, y2+ay= x3+bx+c (5.2) (5.1)

41

veya y2+xy= x3+ax2+b (5.3)

denklemlerine dnr. Eer K cisminin karakteristii Char(K) = 3 ise E. 5.1, y2= x3+ax2+bx+c (5.4)

denklemine dnr. Eer K cisminin karakteristii Char(K) 2 veya 3 ise E. 5.1, y2= x3+ax+b denklemine dnr. Her bir denklem iin Affine Dnmlerini kullanrz ve bu denklemde yer alan x,y,a,b,c,d ve e deerleri de K cisminin stnde yer almaktadr. Yukarda belirtilen herhangi bir art salayan, K alannda yer alan ve (x,y) noktalarnn kmesinden oluan denkleme E eliptik eri denklemi diyebiliriz. 5.1. Eliptik Eriler Genel olarak, bundan sonra inceleyeceimiz eliptik eri denklemlerinde E. 5.5i kullanacaz: y2 = x3+ax+b bu denklemdeki a ve b saylar gerel saylardr ve x3+ax+b denkleminin oklu (multiple) kk olmamas iin 4a3+27b20 olmaldr. Eer bu koullar salyor ise y2 = x3+ax+b eliptik eridir deriz. Ayrca, eliptik erinin tanmlamasnda, daha sonra ayrntl ekilde inceleyeceimiz, sonsuzluk ya (5.5)

42

da sfr nokta ad verilen bir O notasyonu vardr. En byk dereceli s 3 olduundan dolay bu tip denklemler kbik olarak adlandrlrlar. 5.1. rnek a=-4 ve b=0.67 olarak verilen eliptik eri denkleminin grafii:

ekil 5.1. y2= x3-4x+0.67 Eliptik erisi Eer bir eliptik erinin 3 noktas dz bir izgi zerinde bulunuyorsa, bunlar O sonsuzluk notasyonu olarak zetlenir. Bu aklamadan yola karak, bir eliptik eri iin u kurallar tanmlayabiliriz: 1. Eliptik eri zerindeki herhangi bir P noktas iin, P+O=P olur. 2. Bir dikey izgi, ayn x deeri iin eliptik eriyi P1=(x,y) ve P2=(x, y) gibi iki noktasnda kesiyorsa, bu izgi ayn zamanda eliptik eriyi sonsuzluk noktasnda da kesiyordur. Bu yzden P1+P2+O =O ve P1=P2 olur. Bylece bir noktann negatifi, x ekseni zerinde ayn deeri alacak ekilde bir noktadr ve bu noktann y ekseni zerindeki deeri ilk noktann negatifidir.

43

ekil 5.2. y2= x3-6x+6 Eliptik erisi 3. x koordinat farkl olan Q ve R noktas seip bu iki noktadan geen dz bir izgi izdiimizde kesiimin nc noktas olan P1i buluruz. P1 noktas sadece bir tanedir (eer izdiimiz doru Q veya R noktalarndan birisinden teet geiyorsa bu durumda P1=Q veya P2=Q alrz). Bu durumda Q+R+P1=O ve dolaysyla Q+R = P1 olacaktr.

ekil 5.3. y2= x3-7 Eliptik erisi zerindeki iki noktann toplam

44

4. Bir P noktasnn iki katn almak iin, bir teet izgisi izip eriyi kestii dier noktay buluruz. Eer bu noktaya R diyecek olursak P+P=2P=R eitlii salanr.

ekil 5.4. y2= x3-3x+5 Eliptik erisi zerindeki P noktasnn ift kat 5.2. Sonlu Cisimlerdeki Eliptik Eriler ECC iin, eliptik erilerin, "sonlu cisimlerdeki eliptik eriler" olarak tanmlanan bir formu ile ilgileneceiz. Bu u ekilde gsterilir: p bir asal say olsun ve a ve b, pden kk, negatif olmayan iki tamsay olsun: 4a3+27b2 (mod p) 0 (5.6)

Bu durumda, EF(a,b), (x,y)nin pden kk negatif olmayan tamsaylar olduu durum iin, O sonsuz noktas ile beraber u eitlii ifade eder: y2 x3+ax+b (mod p) (5.7)

rnein, p=23 ve eliptik erimiz de y2 = x3+x+1 olsun. Bu durumda, a=b=1 olur. Bu durumda, 4 x 13 + 27 x 12 (mod 23) = 8 grubumuzun mod 23e gre durumunu gsterir. 0, bizim eliptik

45

Eliptik grup iin sadece (mod pden dolay), (0, 0)-(p, p) aralnda olan pozitif tamsaylar ile denklem olutururuz. izelge 5.1de, E23(1, 1) iin O dndaki noktalar listelenmitir. Genel olarak liste aadaki yolla oluturulmutur: 1. 0 x p koulunu salayan her x deeri iin x3+ax+b (mod p) denklemi hesaplanmtr. 2. nceki admn her sonucu iin, sonucun mod p ye gre ift katl kk olup olmadna baklr, eer yoksa bu x deeri iin, EF(a,b)nin bir deeri yoktur. Aksi takdirde, ift katl kk koulunu salayan iki adet y vardr (ynin 0 olduu durum haricinde). Bu (x,y) deerleri, EF(a,b)nin noktalardr. izelge 5.1. E23(1, 1) Eliptik eri zerindeki noktalar (0,1) (0,22) (1, 7) (1, 16) (3, 10) (3, 13) (4, 0) (5, 4) (5, 19) 5.2. rnek (6, 4) (6, 19) (7, 11) (7, 12) (9, 7) (9, 16) (11, 3) (11, 20) (12, 4) (12, 19) (13, 7) (13, 16) (17, 3) (17, 20) (18, 3) (18, 20) (19, 5) (19, 18)

EF(a,b) iin bahsedilmi kurallar, her P,Q noktalar iin aadaki gibi gsterilebilir: 1. P+O=P

EF(a,b) olacak ekilde alnan

46

2. Eer P = (x,y) ise, P+(x,-y) =O olur. (x,-y) noktas, Pnin negatifidir ve -P olarak gsterilir. rnein, E23(1, 1)de P = (13,7) alalm. Bu durumda -P= (13,-7) olacaktr. Fakat -7 mod 23 e gre 16 ettiinden dolay, bizim -P noktamz aslnda, yine E23(1, 1)de yer alan (13,16) noktasdr. 3. Eer P= (x1,y1) ve Q= (x2,y2) ise ve P -Q ise, bu durumda, P+Q =(x3,y3) u kuralla hesaplanr: x3 2 x1 x2 (mod p) y3 ( x1 x3) y1 (mod p) iin koul, y2y1 = x2 x1 3x12+a 2y1 Eliptik eri zerinde yer alan bir noktann k katn almak demek P noktasnn k defa toplanmas anlamna gelmektedir. eer P = Q ise (5.10) eer PQ ise (5.8) (5.9)

k * P = P+P+P.+P k 5.3. rnek E eliptik erisinin y2 = x3+x+6 ve p asal saysnn 11 olduunu kabul ederek, E eliptik erisinin zerindeki noktalar hesaplayalm. Bunu yaparken verilen her x deerinin yukardaki kurallar salayp salamadn ve hangi aralkta ise ona gre hesaplama yaplmas gerektiini unutmamak gerekir. Bunlar dikkate alarak ilemleri yaparsak izelge 5.2deki sonular buluruz:

47

izelge 5.2. y2 = x3+x+6 Eliptik eri zerindeki ift katl kkler


x 0 1 2 3 4 5 6 7 8 9 10 x +x+6 mod 11 6 8 5 3 8 4 8 4 9 7 4
3

Karekk var m? hayr hayr evet evet hayr evet hayr evet evet hayr evet

4,7 5,6 2,9 2,9 3,8 2,9

E eliptik erisi zerinde 13 nokta bulunmaktadr. Periyodik tekrara geildikten sonra, sonsuzluktaki nokta dndaki her hangi bir noktay E nin balang noktas olarak kabul ediyoruz. Biz burada = (2,7) noktasn balang noktas olarak kabul edelim. Daha sonra nn katlarn hesaplarz. lk nce 2 katn alrsak, 2 =(2,7)+(2,7) = (3 x 22 + 1 )(2 x 7)-1 mod 11 = 2 x 3-1 mod 11 = 2 x 4 mod 11 =8 Daha sonra x3 ve y3 deerlerini bulursak, x3 = 82 -2 -2 mod 11 =5 y3 = 8(2-5) -7 mod 11 =2, ve bylelikle 2 = (5,2) olur.

48

buluruz. Bir sonraki arpm 3 = 2+ =(5,2) + (2,7) eklinde alrsak, tekrar deerini hesaplamalyz. Bu da aada belirtilen ilemlerle yaplr: = (7-2)(2-5)-1 mod 11 = 5 x 8-1 mod 11 = 5 x 7 mod 11 = 2. Daha sonra x3 ve y3 deerlerini bulursak, x3 = 22 -5 -2 mod 11 =8 y3 = 2(5-8) -2 mod 11 = 3, ve bylelikle 3 = (8,3) olur. Ayn ekilde dier katlarn da hesaplarsak; =(2,7) 4=(10,2) 7=(7,2) 10=(8,8) buluruz. Bu sonulardan da anlald gibi =(2,7) gerekten balang noktas olarak kabul edilir. 2=(5,2) 5=(3,6) 8=(3,5) 11=(5,9) 3=(8,3) 6=(7,9) 9=(10,9) 12=(2,4)

49

5.1. Teorem (Hasse Teoremi) Nnin, Fq sonlu cisminde yer alan ve E eliptik erisi zerindeki noktalarn toplam says olduunu kabul edersek;

N (q + 1) 2 q

(5.11)

N deeri E. 5.11 ile snrlandrlmaktadr.

50

6. EL PT K ER KR PTOGRAF S (ECC) ECCdeki toplama ilemi ile RSAdaki modler arpm ilemi ve oklu toplama ilemi ile de RSAdaki modler s alma ilemi birbirlerine ok benzemektedir. Eliptik eriler kullanan bir kriptografik sistem oluturabilmek iin, bir sayy iki asal arpanna ayrmak ya da ayrk logaritma almak gibi zor bir problem bulmamz gerekmektedir [8].

Diyelim ki, P, Q

EF(a,b) ve k<p iken, Q=kP olsun. k ve P verildiinde Q

deerini hesaplamak nispeten kolay olduu halde, Q ve P verildiinde k deerini hesaplamak gerekten ok zordur. 6.1. Diffie-Hellman Anahtar Deiimi rnei Eliptik eriler kullanlarak anahtar deiimi aadaki ekilde yaplabilir. nce p 2180 olacak ekilde bir p asal says ve y2 = x3+ax+b denklemindeki eliptik eri parametreleri olan a ve b seilsin. Bu, eliptik noktalar grubu olan EF(a,b)yi oluturur. Sonrasnda EF(a,b) ierisinden, balang noktas (generator point) olacak olan =(x1,y1) seilsin. nin seilmesindeki en nemli kriter, n=0 eitliini salayan en kk n deerinin ok bir byk bir asal say olmas gerekliliidir. EF(a,b) ve , kripto sistemin tm katlmclarca bilinecek parametreleridirler. Bir A ve B kullancs arasndaki anahtar deiimi aadaki gibi gerekleir: 1. A, nden kk bir nA tamsays seer. Bu Ann zel anahtardr. Daha sonra A, PA= nA hesabyla EF(a,b)nin bir noktas olan kendi ak anahtarn oluturur. 2. Bde ayn metotla kendi ak anahtar PByi oluturur.

51

3. A gizli anahtar K = nAPB ile, Bde gizli anahtar K = nBPA ile elde eder. nc aamadaki iki hesaplamann sonucuda ayndr. nk, nAPB = nA(nB) = nB(nA) =nBPA eitlii mevcuttur. Bu ynteme bir atak gerekletirmek isteyen saldrgan, verilmi ve k deerlerinden yola kara k deerini hesaplamak isteyecektir ve bu ok zordur. Bu konuda bir rnek verelim: p =211 olarak alalm. EF(0,-4), eliptik eri y2 = x3 4 ve =(2,2) olsun. Hesapladmz takdirde, 241=0 olacaktr. Ann zel anahtar nA=121 ve bu durumda bu kullancnn genel anahtar PA = 121(2,2) =(115,48). Bnin zel anahtar nB=203 ve bu durumda bu kullancnn genel anahtar PB=203(2,2) = (130,203) olur. Bu koullar altnda paylalm gizli anahtar 121(130,203) = 203(115, 48) = (161,169) olarak bulunur. Grld gibi, anahtar iki paradan olumaktadr. Eer bu anahtar geleneksel ifreleme iin bir oturum anahtar olarak kullanlacaksa, sadece bir saynn yaratlmas gerekir. Basit olarak sadece x koordinatn ya da y koordinatn anahtar olarak kullanabiliriz. Literatrde, eliptik eriler yardmyla ifreleme/ifre zme yapan birok yntem bulunmaktadr. Burada en basit yntem incelenmitir. Bu sistem ierisindeki ilk grev, ak metin olan myi, bir x-y koordinat ile belirlenmi Pm noktas eklinde gndermek zere kodlamaktr. Bu Pm noktas bir ifreli metin gibi ifrelenecek daha sonrasnda da ifre zlecektir. Bir mesaj x ya da sadece y koordinat noktas olarak basite kodlayamayz nk tm olas noktalar EF(a,b) iinde bulunmayabilir. Anahtar deiimi sisteminde olduu gibi ifreleme/ifre zme sistemi de parametre olarak bir noktas ve bir EF(a,b) eliptik grubuna ihtiya duyar.

52

Her bir kullanc, bir nA zel anahtar seer ve PA= nA ile bir ak anahtar retir. Pm gibi bir mesaj ifrelemek ve bir B kullancsna gndermek isteyen bir A kullancs, rasgele pozitif bir nA tamsays seer ve Cm ifreli metninin noktalarn aadaki ekilde elde eder: Cm = (nA, Pm + nAPB) (6.1)

A kullancs ifreleme esnasnda Bnin ak anahtar olan PBden yararlanmaktadr. B aadaki ekilde mesajn ifresini zer: Pm +nAPB-nB(nA) =Pm +nA(nB) nB(nA) = Pm (6.2)

A, Pm mesajn, ona nAPB ekleyerek maskeler. nA deerini bilmeyen kimse Ann uygulad maskeyi kaldramaz. Bunun yannda A, nB zel anahtarn bilen bir kiinin maskeyi kaldrabilmesi iin bir ipucu brakmaktadr. 6.1. rnek Balang noktasnn = (2,7) ve B kullancsnn zel anahtarnn nB = 7 olduunu kabul edersek; B kullancsnn genel anahtar: PB = 7 = (7,2) olur. Daha sonra ifreleme ilemi; Cm = (nA(2,7), Pm + nA(7,2)) biiminde yaplr. Burada Pm

E ve 0 nB 12 olarak verilmektedir. ifre zme ilemi de

53

Dm = (Pm + nAPB ) nBPA biiminde yaplr. A kullancs Pm = (10,9) mesajn ifrelemek istesin (Mesaj, E eliptik erisi zerinde bulunuyor). Eer A kullancs rasgele bir nA=3 deerini seerse, hesaplamalar yaparken; PA = 3(2,7) = (8,3) ve Pm + nAPB = (10,9) +3(7,2) = (10,9) + (3,5) = (10,2) bulur. Bunun sonucunda Cm = ((8,3),(10,2)) elde edilir. imdi B kullancs ald ifreli metni, Cm, aadaki ekilde ifreyi zer: Dm = (10,2) 7(8,3) = (10,2) (3,5) = (10,2) + (3,6) = (10,9) Sonu olarak ifrelenmi metin doru olarak ifresi zmlenmitir. 6.2. Eliptik Eri Kriptografisinin Kullanm Alanlar 6.2.1. Saysal imzalar Saysal imzalar geri zet algoritmalar kullanlarak oluturulurlar. ve zet zet

algoritmalar

dnm

yaplamayan

algoritmalardr

54

fonksiyonlar kullanlarak yaplan bir ifreleme ilemi sonucu ortaya kan bir ifrelenmi veri ifre zme ilemi ile ilk haline geri dntrlemez. ifreleme ilemleri iinde en gvenli olan ak anahtarl kripto sistemlerinden eliptik eri kripto sistemidir. Burada kullanlan iki anahtardan birincisi olan ak anahtar herkese aktr ve bu anahtar kullanarak herkes bir veriyi ifreleyebilir. Ancak ifrelenen bu verinin ifresini zecek olan gizli anahtar yalnzca verinin sahibi olan kiide bulunur ve ancak o kii bu veriyi zebilir. Bu sayede kendine gelen tm verileri bakalar gremeden yalnzca kendisi grebilir. Saysal imzada ise zet algoritmalar bu zel anahtar kullanarak ifreleme yaparlar ve ifre zme ilemi yaplamayan bu ilem sonucunda yalnz kiiye ait bir saysal imza elde edilmi olur. Kii bu saysal imzasn verilere (dokmanlara, e-postalara, vb...) ekleyerek bir dokman imzalam olur. Saysal imza oluturulurken yaplacak en kk deiiklik kar taraftan zlemeyecei iin imza zerinde oynanmas ya da taklit edilmesi mmkn deildir. Saysal imza ile imzalanm bir dokman kar tarafa ulatnda nce alc elinde bulundurduu ak anahtar ile imzann ifresini zer ve eline imzay olutururken kullanlan veri geer. Daha sonra bu veriyi kullanarak gelen dokman zetler. Eer imzann ifresini zdnde oluan veri ile zet sonucu aynysa dokman imza sahibinden gelmi demektir. Aksi takdirde imza taklit edilmeye allm demektir. Bu sebepten dolay, birok lke yasal dzenlemeler ile saysal imzay resmi imza olarak kabul etmi ve imza sahiplerini imzay ieren tm belgelerden sorumlu tutmulardr. E eliptik erisi Fq zerinde olsun ve P noktas bu eliptik erinin mertebesi asal, N, olan bir noktas olsun. Her kullanc [1, N-1] aralnda rasgele bir x tamsays seer. Q=xP noktas bu kullancnn ak anahtar, x ise gizli anahtardr. zet deeri H, 1<H<N-1, olan bir M mesajn eliptik eri saysal imza algoritmasn kullanarak imzalamak iin unlar yaplmaktadr.

55

1. [1, N-1] aralnda rasgele bir k tamsay seilir. 2. kP = (x1, y1) noktas hesaplanr ve r = x1 mod N deeri atanr. Burada P noktasnn x1 bileeni, zerinde tanmlanan sonlu cismin eleman olup, tamsayya evrilmelidir. Eer r = 0 karsa birinci adma dnlp tekrar ilemlere balanmaldr. 3. k-1 mod N hesaplanp s = k-1*(H+xr) mod N deeri bulunur. Eer s = 0 olursa birinci adma tekrar gidilmelidir. Mesajn eliptik eri kullanlarak oluturulan imzas (r,s) ikilisidir. retilen bu saysal imzay dorulamak iin ise aadaki ilemler yaplmaldr. 1. Mesaj imzalayp gnderen kiinin Q ak anahtar alnr. 2. r ve s saylarnn [1, N-1] aralnda olduu dorulanp mesajn H zet deeri hesaplanr. 3. u1 = s-1H mod N ve u2 = s-1r mod N hesaplanr. 4. u1P+u2Q = (x0+y0) hesaplanr ve v = x0 mod N bulunur. 5. Eer v = r ise imza dorulanr. Aksi takdirde mesaj o kiiden gelmemitir [9]. 6.2.2. Ak metnin eliptik eri zerinde yer alan bir noktaya gmlmesi Bu ksmda, ak metin birimlerinin E eliptik erisi zerinde, sonlu cisim olarak tanmlanm Fq zerinde, noktalar halinde nasl zlecei incelenmitir [10]. ncelikle m ak metin biriminin 0 m M arasnda tamsaylar olarak uygun bir ekilde zldn varsayyoruz. Aradmz tek koul m in E zerinde Pm tanmlama noktasnda kolayca belirlenebilmesidir.

56

Balangtan itibaren dikkat edilmesi gereken, eliptik eri zerinde, metin birimlerinin noktalar halinde yerletirilmesi iin bilinen bir saptanabilir polinomsal zaman algoritmas olmamasdr. Buna ramen aada tanmlayacamz bir istatistiksel yntem vardr. Tanmlayacamz yntemin
1 kadar hata verme olasl vardr ve K genelde 30 K 50 arasnda deer 2K

alan bir tamsaydr. Burada p asal say ve q=pr nin byk ve tek say olduunu varsayyoruz. Fq cismi q>M*K olacak ekilde seilir. Bylece tamsaylar 1den M*K ya kadar m*K+j, 1 j K, eklinde yazlabilir ve tamsaylarla Fqnun elemanlar kmesi arasnda bir bire-bir rten fonksiyon oluturabiliriz. Verilen bir m metin birimini kullanarak, her bir j=1,2,.,K iin, m*K+j deerine karlk gelen bir Fq eleman elde ederiz. 'y bir kez elde ettiimizde, y2 = f()y formln kullanarak, y2=x3+ax+b eitliinin sa tarafn elde ederiz. Daha sonrada yyi bulabiliriz. Elde ettiimiz x ve y deerlerini yerine koyduumuzda bize y2=f(x)=x3+ax+b eliptik erisindeki Pm = (x,y) noktasn verir. Eer y2 = f()nin p modlne gre karekkleri yoksa o zaman j deerini bir artrp ilemleri tekrardan yaparak Fq alannda bir f() deeri bulunur. Bu yaklamda dikkat edilmesi gereken husus, jnin deeri Kdan byk olursa Pm noktasndan m metnini elde edemeyeceimizdir. Bir sonraki aama, metin birimi min E zerinde bulunduu Pm tanmlama noktasndan geri alnmasdr. Bunu yapmak, Pm noktasndaki x koordinatna x ~ 1 uyan tamsaynn ~ olduu yerlerde m = x formln kullanarak ok kolay bir hale dnr. 6.2. rnek F751 cismi zerinde E, y2=x3-x+188 eliptik erisi olsun. Bu eri F751 zerinde N=727 tane noktaya sahiptir. Varsayalm ki dz mesaj niteleri 0dan 9a

57

kadar desimal rakamlar ve 10dan 35e kadar da Adan Zye kadar olan harfleri simgelesin. K=20 alalm. a) Eride noktalar halinde verilen aadaki mesaj zmek iin yukarda tanmlanan yntemi kullannz. GAZIUNIVERSITESI b) (283,54), (421,362), (283,54), (401,153), (581,20), (543,61), (484,161), (461,92), (361,8), (401,153) noktalarn cevap metni haline eviriniz. zm a) Mesaj 16 10 35 18 30 23 18 31 14 27 28 18 29 14 28 18 saysal eitliklerine sahiptir. j=1: m=16 ile balyoruz ve x = 16*20+1= 321 i deniyoruz. Gryoruz ki f(x) 486 mod 751: =y2 dir. Daha sonra f(x)in mod 751de karekknn olup olmadn bulalm. Gerekte 321 mod 751de kk olmayan bir saydr. Bundan dolay yerine j=2yi deneriz ve bu sefer x = 322, y2 =409 buluruz, ki bunlar da mod 751de kk olmayan bir saydr. Kk bulana kadar j deerlerini arttryoruz, j=4 iin x = 324, y2 = 49 bulunur ki, bunlar da var olan deerlerdir ve karekk de 49 mod 751 = 7dir. Bundan sonra y2=x3-x+188 erisinde (324,9) noktas olarak, G i yerletiririz. Benzer yntemi kullanarak geri kalan (201,5), (701,203), (361,8), (603,164), (461,92), (361,8), (621,155), (283,54), (543,61), (562,201), (361,8), (581,20), (283,54), (361,8) noktalarn alrz. b) Bu blmde daha nce verilen forml kullanarak cevap metnini geri
283 3 alrz. Bylece ilk nokta iin m = = 14 E olur. Dierlerine de 20

ayn ilemi uyguladmzda ELEKTRONIK ak metnini elde ederiz.

58

6.3. Eliptik Eri Kriptografisinin Gvenlii ECCnin gvenlii, kP ve P verildiinde k deerini elde etmenin zorluuna baldr. Bu durum, eliptik eri logaritmas problemi olarak adlandrlr. Saysal imza algoritmasndaki (DSA) veya RSAye bal saysal imzadaki gvenlik seviyesini yakalamak iin N says yaklak olarak 160 bit olmaldr. Bylelikle eliptik eri imzas daha kk bir sonlu cisimde ilem yaparak ayrk imza algoritmas ve ayn gvenlii salar. izelge 6.1de, eliptik eri yntemi ile RSA ynteminde kullanlan imza byklne bal olarak gerekli olan ak ve kapal anahtar uzunluklar karlatrlmtr. izelgeden de anlalaca zere, RSAnn salad direnci ECC, ok daha dk anahtar boyutlar ile salamaktadr. Bu yzden ECC, dk anahtar boyutu ile salad yksek gvenlik sayesinde RSAya kar byk bir hesapsal stnlk salamaktadr [11]. izelge 6.1. ECC ile dier kripto sistemler arasndaki gvenlik aral
Bant Genilii 2000 bitlik uzun mesajlar iin imza bykl (bit) RSA DSA ECC 1024 320 320 100 bit uzunluundaki mesajn ifrelendikten sonras uzunluu 1024 2048 321 Anahtar Uzunluu Ak Anahtar (bit) 1088 1024 161 Gizli Anahtar (bit) 2048 160 160

59

7. ZET FONKS YONLARI zet fonksiyonlar h : {1, 2, . . . , 2m } {1, 2, . . . , 2n } ve aadaki zelliklere sahip olan fonksiyonlardr: 1. Sktrma: h fonksiyonu, uzunluu sonlu ve deiken olabilen girdiyi alp sabit bir uzunlukta kt vermelidir, 2. Kolay hesaplanabilirlik: herhangi bir girdi iin h(x) deerini hesaplamak kolay olmaldr. zet fonksiyonlar, anahtarsz ve anahtarl zet fonksiyonlar olmak zere ikiye ayrlr: 1. Anahtarsz zet fonksiyonlar h : {0, 1}* {0, 1}n Blok ifreleme sistemleri tabanl Modler aritmetik tabanl stee uyarlanm (MD4, MD5, SHA-1, RIPE-MD, HAVAL)

2. Anahtarl zet fonksiyonlar hk : {0, 1}* {0, 1}n Blok ifreleme sistemleri tabanl Anahtarsz zet fonksiyonlar tabanl stee uyarlanm (MAA, MD5-MAC) Akan ifreler iin retilen

stee uyarlanm zet fonksiyonlar sadece zet iin kullanlan anahtarl veya anahtarsz olarak retilen zet fonksiyonlardr. Ayrca gvenilirlii teorik olarak ispatlanan fakat pek pratik olmayan evrensel zet fonksiyonlar da farkl bir grup olarak grlebilir.

60

Anahtarsz zet fonksiyonlarnn temel zellii aada belirtilmitir (h bir zet fonksiyonu, x ve x girdileri, y ve y ktlar gstermektedir): 1. n grnt Direnci (preimage resistance): h(x) = y deeri bilindiinde, x'i hesaplamak sonlu zamanda mmkn deil. y biliniyor, h(x) = y olacak bir x bulmak zor (hesaplamak sonlu zamanda mmkn deil). 2. kincil n grnt Direnci (2nd-preimage resistance): h(x) = y biliniyor, h(x) = y olacak farkl bir mesaj x x bulmak zor. 3. arpma Direnci (collision resistance): h(x) = h(x) olacak ekilde iki farkl mesaj x ve x bulmak zor. 7.1. rnek Mod 32 kontrol toplamlar (Mod-32 checksum). Mesajn ierisindeki btn 32bit'lik paralarn toplam alnarak kullanlan fonksiyondur. Hesaplamas kolay, sktrma var, fakat n grnt direnli deildir. 7.2. rnek g(x) = x2 mod n = p*q p, q byk asal saylar (n'nin arpanlar bilinmiyorsa tek ynl fonksiyondur.) Hesaplamas kolay, sktrma yok, n grnt direnli (nk n grnty bulmak n'yi arpanlarna ayrmaya denk), fakat ikincil n grnt ve arpma var (x, -x). 7.3. rnek DES tabanl tek ynl fonksiyon. Sabit bir k anahtar iin, f(x) = Ek(x) x olsun. E rasgele bir permtasyon olarak kabul edilirse, f fonksiyonu tek ynl olur. y bilindiinde E'nin rasgele olamamasndan dolay, y = Ek(x) x olacak ekilde x (= Ek-1 (x y)) ve k deerlerini bulmak zordur. Dolaysyla f tek

61

ynl bir fonksiyondur. Fakat fonksiyon belli mesaj uzunluklar iin almaktadr. arpma direnli ise ikincil n grntl direnlidir: kincil n

Fonksiyonumuzun arpma direnli olduunu kabul edelim.

grntl direnli deilse Sabit x; h(x) iin h(x) = h(x) olan x x bulabiliriz, fakat bu arpma direnci olamadn gsterir, kabulmzle eliir. arpma direnli ise n grntl direnli olmak zorunda deildir:

g : (0, 1)* (0; 1)n arpma direnli olsun, h fonksiyonu aadaki ekilde tanmlanrsa n grntl direnli olmaz; 1x h(x) = 0 g(x) if |x| = n if |x| n (7.1)

h : (0, 1)* (0, 1)n+1 n + 1 bit zet fonksiyon. n grntl direnli ise ikincil n grntl direnli olmak zorunda deildir. 7.1. Ekstra artlar 1. lintili olmayan (Non-correlation): Girdi ve kt bitleri arasnda ilinti olmamal, blok ifre sistemlerindeki gibi (avalanche) zellii salanmal (btn girdi bitleri btn kt bitlerini etkilemeli), 2. Yakn arpma direnci (Near-collision resistance): w(h(x) h(x)) kk olacak farkl x ve x iftlerini bulmak zor olmal (w:hamming arl),

62

3. Ksmi n grnt direnci (Partial-preimage resistance): Girdi bitlerinin bir ksmn dahi bulmak zor olmal, girdinin t uzunluundaki ksmn bulmak iin yaklak 2t - 1'lik hesaplama yapmak gerekmeli (girdinin belli bir ksm bilinse dahi dier ksmn bulmak zor olmal). Anahtarsz zet fonksiyonlarnn ou girdi ve kt uzunluu sabit olan bir f zet fonksiyonunun tekrarl olarak uygulanmasyla elde edilir. Bu fonksiyonlara yinelemeli zet fonksiyonlar (h) ad verilir. Herhangi bir uzunluktaki x girdisi, sabit r-bit uzunluklara blnr (xi), x'in uzunluunun r'nin kat olmas iin belli bir kurala bal olarak x'e bit eklenir (padding). Girdi paralar xi'ler srasyla f'ye sokulur, f'nin kts ve xi+1 tekrar f'nin girdisi olarak kullanlr ve son girdi blouna kadar bu ilem tekrarlanr. Bu durumda aadaki ilemler yaplm olur: x = x1x2 . xt, H0 = IV; Hi = f(Hi-1, xi), 1 i t; h(x) = g(Ht), IV: balang deeri Yinelemeli zet fonksiyonlarnn genel ve detayl yaplar aadaki ekillerde verilmitir: Not: f fonksiyonunun arpma direnli olmas h fonksiyonunun arpma direnli olmasn garantiler. 7.2. Anahtarsz zet Fonksiyonlar Blok ifre sistemleri tabanl: Yinelemede kullanlan f fonksiyonu herhangi bir blok ifre sistemi olarak seilir. Kullanlan makinann iinde bir blok ifreleme sistemi varsa zet fonksiyonu olarak da kullanlabilir.

63

Modler Aritmetik tabanl: Yineleme fonksiyonu (f) mod M aritmetiini baz alan bir fonksiyon olarak seilir, arpanlara ayrma ve ayrk logaritma problemlerini temel alan sistemler seilebilir. stee uyarlanm: zel olarak zet iin tasarlanm ve optimize hza sahip olan fonksiyonlardr. Pratik olarak kullanlmaktadr, MD ailesi ve SHA rnek olarak verilebilir. Gvenilirlikleri hesaplama gcne dayal olarak ispatlanr, matematiksel olarak gvenilir olduklar ispatlanmamtr. 7.3. Anahtarl zet Fonksiyonlar Blok ifreleme sistemleri tabanl: ifre Blok Zincir Mod (CBC) tabanl Mesaj Dorulama Kodlar (MAC) rnek olarak verilebilir. x1 x2 x3 xi

0 k

H1 E k E

H2 k E

H3

Ht-1 k E

Ht k Opsiyon k H ekil 7.1. CBC tabanl MAC algoritmas E E-1

64

Anahtarsz zet fonksiyonlar tabanl: Gizli bir anahtarn anahtarsz zet fonksiyonlarnn girdisinin bir paras olarak kullanlmasyla retilen zet fonksiyonlardr. Aadaki yntemler rnek olarak verilebilir (k anahtar ve h bir anahtarsz zet fonksiyonu olmak zere): 1. Gizli nek yntemi: M(x) = h(kx) 2. Gizli sontak yntemi: M(x) = h(xk) (7.2) (7.3)

3. Ekleme ile zarflama yntemi: hk(x) = h(kpxk) p: ekleme kp bir blok uzunluunda olacak ekilde ekleme yaplyor, 4. zet tabanl: HMAC(x) = h(kp1h(kp2x)), p1, p2 : ekleme, kp1 ve h(kp2x) birer tam blok uzunluunda olacak ekilde bit ekleme yaplyor. stee uyarlanm MAC'lar: Sadece zet yapmak iin tasarlanm ve ierisinde gizli anahtar barndran zet fonksiyonlardr. rnek olarak MAA ve MD5-MAC verilebilir.

65

8. KR PTOGRAF K PROTOKOLLER 8.1. Kriptografik Protokol Tanm Protokol, basite iki veya daha fazla kii arasndaki nceden belirlenmi belli bir amaca ynelik haberleme yntemi olarak tanmlanabilir. Kriptografik protokol ile kriptografik bir algoritma ieren bir protokol kastedilir [12]. 8.2. Kriptografik Protokollerin zellikleri Kriptografik algoritmalarda olduu gibi bir protokoln de gvensiz olduunu ispatlamak gvenlilii ispatlamaya gre ok daha kolaydr. Bir protokol incelerken yine tpk algoritmalardaki gibi protokol nasl bir cihazda kullanacamzdan ok temel alma prensipleri ile ilgilenilir. 8.3. Hakem (Arbitrator) ve Dzenleyici (Adjudicator) Kimi zaman protokollerde haberlemenin dzgn bir ekilde ileyebilmesi iin hakem olarak adlandrdmz gvenilir 3. kiilere ihtiya duyulur. Hakemlerin en nemli zellii tm protokoln onlarn gzetiminde yrtlyor olmasdr. Hakemi kardmz zaman protokol ilemez. Dzenleyici ise hakemin aksine sadece bir anlamazlk durumunda bavurulan gvenilir 3. kiilere denir. 8.4. Dzenleyicili (Adjudicated) Protokoller Bu protokoller temelde taraflarn drstlne dayanr. Bir anlamazlk ya da birisinin hile yapmas durumunda dzenleyici kii bunu fark eder. yi bir dzenleyicili protokolde dzenleyici ayn zamanda hile yapan tarafn kim olduunu da fark eder. Dolays ile bu kiinin varl, hile nnde engel tekil eder.

66

8.5. Kendi leyiini Zorlayan (Self-Enforcing) Protokoller Protokol herhangi bir hileye yer brakmaz. Protokoln sorunsuz ilemesi otomatik olarak herhangi bir hile yaplmad anlamna gelir. Hile halinde protokol durur. Devam edilemez bir hal alr ve bunu herhangi bir hakem ya da dzenleyiciye ihtiya olmadan salayacak ekilde tasarlanmtr. Bir protokol iin her zaman istenen bir zelliktir. Ancak her durumda kendi ileyiini zorlayan bir protokol bulmak mmkn olamayabilir. 8.6. Aktif Ve Pasif Ataklar (Attacks) Bir protokol ilerken her zaman atak olmas olasdr. Pasif atakta kt amal kii sadece arada gelip giden trafii dinleyerek protokol tasarlanrken kendisinin ulamas umulmayan bir bilgiye erimeye alr. Aktif atakta ise kt niyetli kii sadece dinlemekle kalmaz. Mesajlar ya da kaytlar okumann tesinde kesebilir, bozabilir ya da deitirebilir. Aktif atak yapan kii tamamen dardan birisi olmak zorunda deildir. Sistemdeki baka yasal bir kullanc ve hatta sistem yneticisi olabilir. Atak yapan kiinin protokol uygulayan taraflardan birisi olmas durumunda ise daha ok hile ve ata uygulayan kii iinse hilekr tabirleri kullanlr. Atak yapan kiilerde olduu gibi hilekrlar da pasif hilekr ve aktif hilekr olarak ikiye ayrmak mmkndr. 8.7. Tipik Simetrik Algoritma Haberleme Protokol Simetrik kriptografi kullanlarak yaplan tipik bir haberlemede A ve B kiileri bir kripto sistem ve bir anahtar zerinde anlarlar ve A kiisi bu anahtar kullanarak ifreledii mesajn B kiisine gnderir. B kiisi de yine ayn anahtar kullanarak mesajn ifresini zer ve haberleme tamamlanr. Bu sistemin nemli dezavantajlar vardr. ncelikle A ve B kiileri anahtar deitirmek iin bir araya gelmelidirler (anahtar deiimi iin baka bir algoritma kullanlmad varsaylmaktadr). Araya giren kt niyetli Z kiisi

67

mesajlara ulat takdirde mesajn dier tarafa gitmesini engelleyebilir ve hatta anahtar bilmesi durumunda bu mesaj kendisininkilerle deitirerek haberleen iki tarafa da farknda olmakszn bambaka mesajlar gnderebilir. 8.8. Tipik Ak Anahtar Kripto Sistemi ile Haberleme A ve B kiileri bir ak anahtar kripto sistemi zerinde anlarlar. Simetrik anahtarl sistemde olduu gibi burada kripto sistem zerinde anlama gizli yaplmak zorunda deildir. B kiisi A kiisine kendi ak anahtarn gnderir. A kiisi mesajn B'nin ak anahtar ile ifreler ve gnderir. B kiisi ise kendi gizli anahtar ile mesaj zer ve mesaja ular. Ak anahtarl tipik haberleme sistemlerinin en nemli dezavantaj ortalama olarak simetrik bir algoritmadan 1000 kat yava olmalardr. Uzun mesajlar bu yolla gndermek pratik deildir. 8.9. Tipik Karma (Hybrid) Kripto Sistemler Bir karma ifre hem simetrik ifreyi hem de ak anahtarl ifreyi kullanr. Bu mekanizma, bir simetrik ifreyi paylatrmakta bir ak anahtarl ifreyi kullanr. B, A'ya ak anahtarn gnderir. A bir oturumda kullanlmak zere rasgele bir oturum anahtar retir. Oturum anahtarn B'nin ak anahtar ile ve gnderilecek mesaj da oturum anahtar ile ifreleyerek her ikisini de otomatik olarak bir paket iinde birletirir ve B'ye gnderir. B kiisi ise gizli anahtar araclyla edindii oturum anahtarn aar ve elde ettii oturum anahtar ile mesajn ifresini zer. Tahmin edilecei zere bu sistemde taraflar, simetrik kripto sistem anahtar belirlemek iin bir araya gelmek zorunda kalmamaktadrlar.

68

8.10. Gnlk Hayatta mza Gnlk hayatta ska kullandmz imzalarda aradmz bizim iin ok nemli zellikleri; mza otentiktir (authentic), imzalayann kimliini gsterir. mza oaltlamaz. mza tekrar kullanlamaz. mza deitirilemez, zerinde oynama yaplamaz. mza atan kii attktan sonra imzasn inkr edemez olmasdr.

8.10.1. Ak anahtar kripto sistemlerle saysal imza Tipik bir ak anahtar kripto sisteminde A kiisi kendi gizli anahtar ile imzalamak istedii dokman ifreler. B kiisi ise A'nn ak anahtar ile dokman aar. Eer aamazsa imza geerli deildir, imza birisi tarafndan ya da doal etkenlerle bozulmutur. Bu basit imza protokolne kt taraftan bakacak olursak imzal dokman alan kii saysal ortamda bu imzal dokman diledii kadar oaltabilir. mzal dokman bir anlama metni ise bu elbette ciddi bir sorun tekil etmeyebilir ancak dokmann para karl olan bir ek olduunu kabul edersek durum farkl olabilir. B kiisinin farkl zamanlarda farkl eklermi gibi ayn imzal eki bozdurmasn istemeyiz. Bu gibi tekrar kullanmlar nlemek iin saysal dokmanlar ou zaman hangi tarihe ait olduklarn gsteren bir zaman pulu (timestamp) ile beraber kullanlr. Mesaj algoritma ile imzalanp kapatlmadan nce iine tarih bilgileri de eklenir.

69

8.10.2. Ak anahtar kripto sistem ve zet fonksiyonuyla imza A kiisi bu defa dokmann kendisini (zaman pulu ile veya zaman pulsuz) imzalamak yerine dokmann bir zet fonksiyonu sonucu retilmi zet deerini imzalar. A kiisi imzalamak zere kulland dokmanla beraber imzalanm zet deerini B'ye gnderir. Alc olan B ise imzay A'nn ak anahtar ile atktan sonra dokmann zetini kendisi hesaplar ve bu deerin gnderilen zet deeri ile uyup uymadna bakar. Eer uyuyorsa imza geerlidir. Aksi halde geersizdir. Bu protokol dokmann kendisi yerine sadece zet deerini imzaladmz iin dokmann boyutuna bal olarak bir ncekine gre inanlmaz lde hzl olabilir. ki farkl dokmann zet deerlerinin rnein 160-bit'lik bir kt reten bir zet fonksiyonunda 1/2160 olduu dnlrse zet deerini imzalamakla dokmann kendisini imzalamann rahatlkla eletirilebilecei ortaya kar. Ancak zet fonksiyonunun temel zellikleri salamas gerektii unutulmamaldr. ayet tek-ynl olmayan bir zet fonksiyonu kullanlsayd, bir dokman imzaland zaman onunla ayn zet deerini veren tm dokmanlar da beraberinde ayn kii tarafndan imzalanm olacakt. Bu yntem ile A kiisi bir dokman aa karmadan dokmana sahip olduunu ispatlayabilir. bir rnein copyright hakkna sahip olmak isteyeceimiz imzalayabiliriz. 8.10.3. Saysal imzalarda inkar edememezlik (Nonrepudiation) Yukardaki algoritmann eksik bir yan, belgeyi imzalayan kiiye her zaman hile olana vermesidir. yle ki, eer dokmanda bir zaman pulu mevcut deilse A kiisi dokman imzaladn inkr etmek istedii bir durumda her zaman iin gizli anahtarn herhangi bir saysal ortamda brakarak daha sonra dokman dokmann kendisini aa karmadan

70

da gizli anahtarnn alndn ve dokmann kendisi deil de imzasn alan kii tarafndan imzalandn ne srebilir. Bu gibi durumlarda ou zaman 3. gvenilir kii olan hakemlerin kontrolnde olan bir protokole ihtiya duyulabilir. 8.10.4. nkar edilemeyen saysal imzalar Protokol bu defa bir para daha karktr. 3. gvenilir T kiisine dayanr. A kiisi mesaj imzalar ve mesaja kendisini tanmlayan bir balk ekler. Elde ettii bu yeni birletirilmi mesaj tekrar imzalar ve T kiisine gnderir. 3. kiide herkesin ak ve gizli anahtar bulunmaktadr. Dolaysyla dtaki mesaj A kiisinin ak anahtar ile aarak A kiisinin kendisini tanmlad eklentiye eriir. T daha sonra mesaj gerekten A kiisinin gnderdiini B'ye onaylamak iin mesajn ne zamana ait olduu bilgisini de ekleyerek imzalar ve hem A'ya, hem de B'ye gnderir. B kiisi T'nin imzasn aar ve A'nn kimlik bilgilerine ulaarak imzay onaylar. mzann A'ya da gnderiliyor olmasnn sebebi bir anlamda A'ya "Senin adna yle bir mesaj gnderildi, ayet bunu gerekten gnderen sen deil de (rnein anahtarn alan) bir bakas ise acele konu, daha sonra bunu inkar edemezsin" denmesidir. Bahsedilebilecek bir nokta da udur ki bu protokolde zaman bilgileri asndan T'ye gvenilmektedir. Dolays ile T ile bir ekilde anlaan birisi dokmannn tarihi hakknda hileye giriebilir. Protokolde B'nin A'dan mesaj aldktan sonra gerekten ona dair olup olmadn onaylamas iin T'ye sormas gibi deiiklikler yaplmas suretiyle alternatifleri de tretilebilir. 8.10.5. ifreleme ve saysal imza A ve B kiilerinin her ikisinin de ak ve gizli anahtarlarnn bulunduu bir ortamda bir mesaj hem ifrelemek ve hem de imzalamak istediimiz bir durumda A kiisi, mesaj, basite sylemek gerekirse nce kendi gizli anahtar ile imzalar ve daha sonra da imzalanm mesaj B'nin ak anahtar

71

ile ifreleyerek B'ye gnderir. B de mesaj kendi kapal anahtar ile ifreyi zer ve daha sonra da A'nn ak anahtar ile imzay onaylar. ayet mesaj sorunsuz bir ekilde aldn A'ya iletmek isterse A'nn yapt iin tersini yaparak mesaj tekrar A'ya gnderebilir. Aka ifade etmek gerekirse, B kiisi mesaj kendi gizli anahtar ile imzalayp daha sonra da A'nn ak anahtar ile imzay ifreleyerek mesaj A'ya gnderebilir. A'nnsa geri ters operasyonlarla gnderdii orijinal mesaj elde etmesi durumunda ilemlerin baaryla gerekletii kabul edilir. Bu operasyonlarda mesajn ifrelenmeden nce imzalanmas doal

gzkmektedir. Tersi bir sra uygulanmas durumunda tpk kat yerine zarf imzalayan birisinin, bir bakasna zarfn iinden kad kararak baka bir kat koyup, koyduu kad imzalanm gstermesi gibi bir imkan verdii aktr. Bu protokol de bir takm ataklara maruz kalabilir. rnein bakalarndan gelen rasgele mesajlarn imzalanmamas gerekir. Ayn ekilde bakalarndan gelen rasgele mesajlarn ifresi zlp sonucun bakalarna verilmesi de direkt olarak ataa meydan verebilmektedir. Ancak genel olarak ifreleme ve imzalama iin farkl algoritmalar kullanld takdirde ya da ayn algoritma kullanlsa bile bu iki operasyon iin farkl anahtarlar kullanld zaman bu gibi basit bir ataa meydan verilmedii sylenebilir. Benzer ekilde zaman pulu eklentisi de mesajlar farkllatrd iin zet fonksiyonlarn burada kullanmak ataa kar iyi bir zm olabilmektedir. Protokol, deiik amalar ve ortamlar dorultusunda ekillendirilebilir. 8.11. Anahtar Deiimi (Key Exchange) Kriptografide en temel uygulamalardan birisi anahtar deiimidir. Standart ifreli haberleme iin, karlkl anahtar deiimi baar ile gereklemise, ou zaman herhangi bir gvenilir 128-bit (ya da daha geni) blok ifre kullanlarak iletiim salanabilir. Ancak deinildii gibi ncelikli olarak anahtar

72

deiiminin gvenilir bir ekilde gereklemesi gereklidir. Sadece belli bir oturum (ya da haberleme seans) iin kullanlan anahtara oturum anahtar denir. Anahtar deiimi iin simetrik algoritmalar kullanlrsa, gvenilir nc kiinin de yardmyla anahtar deiimini gerekletirmek mmkndr. Ancak burada, ilk aamada gvenilir 3. bir kiiye ihtiya brakmayan, ak anahtar yntemiyle gerekletirilen ve ok daha ilevsel olan bir yntem ele alnacaktr. 8.11.1. Ak anahtar yntemi ile anahtar deiimi Bu uygulamada A kiisi nce B'nin ak anahtarn temin eder, rasgele oluturduu oturum anahtarn B'nin ak anahtar ile ifreleyerek B'ye gnderir. B kiisi ise kendi gizli anahtar ile A'nn mesajn aar ve haberlemelerini gnderilen oturum anahtarn kullanarak, simetrik bir algoritma aracl ile yrtrler. Burada ak ve kapal anahtarlar bir ak anahtar algoritmasna, oturum anahtar ise bir simetrik ifreleme algoritmasna (DES, SAFER, Vigenere vb) aittir. Burada pasif bir saldrgan iin, yani herhangi bir mdahalede bulunmayan kt niyetli kii E iin kullanlan ak anahtar algoritmasn krmaya almaktan baka bir yol grnmemektedir. Ancak aktif saldrgan iin ayns sz konusu deildir. Aktif saldrgan, eer iki kii arasndaki mesajlara erime ve hatta deitirme imknna sahipse, B kiisi A'ya ak anahtarn gnderirken araya girip ona kendi ak anahtarn gnderebilir. A kiisi de oturum anahtarn, B'nin anahtar sand bu anahtarla ifreleyerek geri gnderdiinde ise, kt niyetli kii zaten kendi ak anahtar ile ifrelenmi bu mesaj rahatlkla ap okuyabilir. Dahas E, mesaj B'nin gerek ak anahtar ile tekrar ifreleyerek B'ye gndererek onlarn hibir ey olmamasna anahtar kendisinde olan bir simetrik algoritmayla haberlemelerini salayabilir. Aktif saldrgan, hissedilir bir yavalamaya

73

sebep olmad srece bu ekilde A ve B kiilerinin haberi bile olmadan onlarn ifreleyerek gnderdikleri tm mesajlar okuyabilir. Ortadaki 3. kii tarafndan gerekletirilen bu ataa "ortadaki-adam ata" (man-in-the-middle attack) ad verilir. Burada protokoln adm adm ilemesi yerine A kiisi tek bir gnderimle, B'nin ak anahtar ile ifreledii oturum anahtarn, o oturum anahtar ile ifreledii mesajla birlikte B'ye gnderebilir. B de nce kendi gizli anahtar ile oturum anahtarn elde eder, sonra da bu anahtar kullanarak simetrik algoritma ile ifrelenmi mesaj aarak orjinal mesaja ular. 8.12. Arakilit Protokol (Interlock Protocol) Yukarda deinilen ortadaki-adam ata, A ve B kiilerinin gerekten birbirleri ile konutuklarn onaylama anslar yokken kullanlabilir. Arakilit protokolnde A ve B kiileri birbirlerine karlkl olarak ak anahtarlarn gnderirler. Burada aktif saldrgan hala araya girip taraflarn ak anahtarlarn kendi belirledii bir ak anahtar ile deitirebilir. Ancak sonrasnda protokol farkl iler. A kiisi oturum anahtarn (veya herhangi bir mesaj da olabilir) yine B'nin ak anahtar ile ifreler, ancak bu defa ifrelenmi mesajn kendisi yerine yarsn B'ye gnderir. Ayn ekilde B kiisi de kendi ifreledii mesajn ilk yarsn A'ya gnderir. Ve daha sonra, yine nce A kiisi ve sonra da B kiisi olmak zere her iki taraf da ifreledii mesajn kalan yarsn birbirine gnderirler ve iki yarm birletirerek kendi gizli anahtarlaryla mesajn hepsinin ifresini zer. Burada mesajn ikinci yars olmadan ilk yars kullanszdr. Taraflar da ortadaki adam gibi mesajn ikinci yars gelmeden ifreli mesaj zme ansna sahip deildirler. Ancak burada ak anahtar ile giden mesaj, mesajn tamam deildir. Dolaysyla saldrgan, mesaj kendi gizli anahtar ile ap B kiisinin ak

74

anahtar ile tekrar ifreleme ansna sahip deildir. nk ifreli mesaj yarm olduu iin mesaj herhangi bir ekilde ama/ifre zme ansna sahip deildir. Bu zellii salayan yarm mesajn elde edilmesi ve mesaj iki yarma blmek iin kullanlan mekanizma aada belirtilmitir. Burada kullandmz mesaj iki paraya blp gnderme yntemindeki paralardan ilki ifreli mesajn bir zet fonksiyonu ile elde edilmi bir zet deeri olurken ikincisi ise ifreli mesajn kendisi olabilir. Ya da gerekten bir 64-bit blok ifre algoritmas ile ifrelenmi mesajn 32'er bit uzunluunda iki yars olabilir. Her iki durumda da ikinci mesaj gelmeden ifre zme yaplamayacaktr. Ve yine her iki durumda da aktif saldrgann 2. ifreli mesaj yarsn da bilmeden mesaj deitirmesine olanak yoktur. kinci ifreli mesaj, taraflardan birisi tarafndan gnderildiinde ise oktan mesajn onay iin kullanlacak olan ilk yars dier tarafn eline ulamtr. Dolaysyla ortadaki adam iin atak vakti oktan gemitir. Nitekim protokoln ileyii bunu gerektirmektedir. Arakilit protokol Rivest ve Shamir tarafndan gelitirilmitir. 8.13. Saysal mzalarla Anahtar Deiimi u ana kadar mesajmzn kendisini ya da ak anahtarmz gnderirken aktif bir saldrgann her zaman iin araya girip taraflarn ak anahtarlarn deitirmek suretiyle eitli ataklarda bulunabilecei kabul edilmitir. Bu sebeple ak anahtarlar datmann nasl daha gvenli bir ekilde olabilecei sorusuna cevap olarak 3. gvenilir T kiisinin imzas da protokole dhil edilebilir. Basit bir ifade ile, A ve B kiilerinin anahtarlarn direkt olarak birbirlerine gndermeleri yerine, 3. gvenilir T kiisi onlar iin anahtar belirleyip bu anahtar imzalayabilir. Ve bu ekilde A ve B kiileri sadece T kiisinden imzal anahtarlar kullanmak zere karlkl anlamlardr. Ve T kiisinin gvenli olduunu, yani onun anahtar veri tabanna kimse tarafndan eriilemediini kabul edersek (bu belli ve tek bir anahtar datcsnn gvenliini salamak ayr ayr pek ok kullancnn gvenliini salamaktan

75

her zaman iin daha kolaydr) aktif saldrgan araya girip ak anahtarlar kendi anahtar ile deitiremez. Bu arada her zaman iin protokol detaylar zerinde dzenlemeler yaplarak protokolde faydal deiiklikler yapabilmemizin olas olduu unutulmamaldr. rnein yukarda ak ve gizli anahtarlarmz ilk aamada bizim iin T kiisinin deil de kendimizin rettiini ve T kiisinin sadece bizim rettiimiz anahtarlarn imzas iin protokolde yer aldn dnrsek, anahtar gndereceimiz B kiisi anahtarmzda her zaman T'nin imzasn arayaca iin ve aktif saldrgan da saysal imza yntemlerinin gvenilirlii lsnde T kiisinin imzasn deitiremeyecei iin ak anahtar gnderimlerimizi ok daha gvenilir bir ekilde yrtebiliriz. stelik bu durumda aktif saldrgan T'nin saysal anahtarn ele geirse bile bu anahtar A ve B taraflarnn mesajlarn okumakta kullanamaz, sadece yeni ak anahtarlar imzalayabilir. nk T'de sadece bizim ak anahtarlarmz imzalamada kulland bir saysal imza anahtar bulunmaktadr. 8.14. Otentikasyon (Kimlik dorulama) Bir bilgisayara kendimizi tantmak iin kullandmz yegne yntem parola kullanmaktr. Ancak ilk kez Needham ve Guy ikilisinin ortaya koyduu ekliyle otentikasyon yapan bilgisayarda parolalarn kendilerinin bulunmasna gerek yoktur. Dolaysyla sistem yneticisinin (ya da sizin parolalarnza direkt erime ansna sahip birisinin) parolanz farkl amalar iin kullanmasn (rnein ayn parolay kullandnz baka bir sisteme sizin adnza erimesini) nemli lde zorlatrmaya yol aan gerek, bilgisayar iin gerekli olan iinde tm kullanc parolalarnn bulunmas deil, sadece yanl girilen parolalar dierlerinden ayrt edebilmesidir. Bu da zet fonksiyonlar sayesinde gereklemektedir; kullanc otentikasyon yaplacak bilgisayara parolasn girer, bilgisayar bu parolann zet deerini hesaplar ve kendi veri tabanndaki ayn kullanc iin tutulan zet deeri ile uyup uymadn kontrol eder.

76

Burada otentikasyon yaplan bilgisayara eriimi olan bir saldrgan hala unu yapabilir; parola olarak kullanlabilecek ok miktarda szck reterek bunlarn zet deerlerini hesaplar ve veri tabanndakilerle karlatrr. Bu yntemle yeterli miktarda sreye sahip olduu takdirde tm olas kelimeleri deneyerek parolalara ulaabilir. Bu operasyonu pratik olarak zorlatrmak iin tuzlama (salting) ilemi uygulanr. Tuzlama, parolalara zet fonksiyonundan geirmeden nce rasgele metin eklemektir. rnein UNIX sistemlerde 12-bit tuzlama uygulanmaktadr. Tuzlama yntemiyle otentikasyon ilemini nemli oranda yavalatmakszn bir szlk atan ok ciddi biimde zorlatrmak mmkndr. Ancak her zaman iin kolay tahmin edilebilir parolalar byle bir atakta nce krlanlar olacaktr ve tuzlama onlar daha gl hale getirmemektedir. 8.14.1. Ak anahtar kriptografi ile otentikasyon Otentikasyonun ok uzaktaki bir makina tarafndan yapld bir ortam dnelim. Bizden birka lke uzaklkta olan bir internet sitesine kendimizi tantmak iin kullandmz parolamz gvenli olarak nasl gnderebiliriz? Bunun iin yukardaki basit otentikasyon protokolmz ak anahtar sistemli otentikasyon kullanarak nasl deitiririz? Ak anahtar kullanan otentikasyon ynteminde biz parola yerine kendi gizli anahtarmz bilmekteyiz. Makinada ise bizim ak anahtarmz bulunur. Otentikasyon yle iler; makina bize rasgele bir metin gnderir. Biz de gizli anahtarmzla bu metni ifreler ve makinaya geri gndeririz. Makina, bizim ak anahtarmz ile gnderdiimiz mesaj atnda kendi gnderdii rasgele metni bulursa bize sistem eriimi verir. Bu yntemin kullanld ortamda, ne otentikasyon makinasnn (gizli anahtarmz sadece bizde bulunuyor, makina veritabannda mevcut deil), ne de iletiim yolunun (ak anahtar kripto sisteminin temel zelliinden dolay) gvenli olmas gerekmemektedir.

77

8.15. Sr Paylatrma (Secret Splitting) Bir bilgiyi iki kii arasnda paylatrmak istediimizi dnelim. yle ki; her ikisi de bir araya gelmeden bilgiye ulaamasnlar. Paylatrlacak olan M mesaj iin ayn bit uzunluunda R gibi bir rasgele metin oluturduumuzu dnrsek M R = S eklinde bir xorlama operasyonu ile S metnini elde ettiimizi dnelim. Bu durumda bir kiiye R'yi ve de dier kiiye de S'yi verdiimizi dnrsek her ikisi de bir araya gelmeden M mesajn elde edemezler. Bir araya geldiklerinde ise R S = M ile mesaj geri dntrebilirler. Bu basit yntemi ikiden fazla kiide uygulamak iinse bir srr 4 kii arasnda paylatrmak istediimizi dnelim. Bu defa sr metni ile yine ayn uzunlukta R, S ve T rasgele metinlerine ihtiya vardr. M R S T = U eklinde bir operasyonla, R,S,T ve U metinlerini farkl 4 kiiye datarak ancak bir araya geldiklerinde tm sahip olduklar 4 metni xorlayarak M'i elde etmelerine izin verebiliriz. Dahas bu 4 kiiden birisini saf d brakmak istediimizde onun metinini dierlerine datmamz yeterli olacaktr. Bu sayede o olmadan da bu xor operasyonunu yaparak ana metne ulaabilirler. 8.16. Sakl letiim Yolu (Subliminal Channel) Birisiyle haberlemek istediiniz, ancak bunun 3. bir baka kii araclyla gereklemesi dnda mmkn olmad bir senaryo dnelim. Bu 3. kii de mesajn ifreli olmasna izin vermiyor, kendisi mesajnz iletmeyi ancak o ieriini okuyabildii zaman kabul ediyor. te bylesi bir durumda bir sakl iletiim yolu yntemi kullanm zm olabilir. Yani ilettiimiz mesajda gizli bir algoritmayla saklanm, grnenin ardndaki baka bir mesajla hem dier tarafa mesajmz ulatrp hem de 3. arac kiinin yalnzca grnrdeki mesaj gnderdiimizi sanmasna yol aarak gerekte ne gnderdiimiz hakknda hi bir fikri olmamasn salayabiliriz.

78

ok basit bir sakl iletiim yolu yntemi olarak, kurduumuz cmlelerde tek sayda kelime olmas durumunda 1-bitini, ift sayda kelime ieren cmleler ile de 0-bitini gnderdiimizi dnebiliriz. Sakl iletiim yolunda, tpk steganografide olduu gibi herhangi bir anahtar bulunmamakta ve mesajn gizlilii tamamen algoritmann gizliliine dayanmaktadr. Sakl iletiim yollarna ok eitli uygulama alanlar bulmak olasdr. rnein saysal imzalama srasnda sakl iletiim yolu yntemleri ile mesaj bir taraftan imzalarken dier taraftan imzann iine "ben bu mesaj bask altnda imzalyorum" gibi bir ifade saklamak mmkndr. 8.17. Bit Vadetme (Bit Commitment) yle bir senaryo dnelim; Bir yatrmcya hisse senedi nereceiz. Ykselecek olan hisseleri nerebilirsek, karlnda ondan bir i alacaz. Ancak nerdiimiz hisse senetlerini hemen bilmesini istemiyoruz, nk o zaman bize ii vermeden o senetlere kendisi para yatrp bizi yzst brakabilir. Ancak dier taraftan, yatrmc da bizim samimiyetimize inanmak istiyor. Eer hisse senedi sonular belli olduktan sonra ona aklarsak, sonucu batan tahmin ettiimize dair onu ikna etme ansmz kalmaz. zetle; A kiisi, B kiisine, belli bir tarihte belli bir bilgiyi bildiini aradan bir sre getikten sonra ona ispatlamak istiyor ve kendisi izin verene kadar bilginin ne olduuna dair B'ye ipucu vermek istemiyordur. B kiisi rasgele bir R metni retir ve bunu A'ya gnderir. A'nn belli bir grup bit ierisinden seimini gsteren bite 'b' dersek A kiisi, simetrik bir algoritma kullanarak kendi belirledii bir anahtar ile (R,b) ikilisini ifreler ve geri B'ye gnderir. Setii biti aa karmak istedii gn geldiinde ise ifrelemede kulland anahtar B'ye vererek onun paketi amasn salar. B kiisi ise kendi ilk bata gnderdii rasgele R metninin pakette seim biti ile beraber bulunup bulunmadn kontrol eder. Eer protokolde byle bir rasgele R metni olmasayd, sz konusu olan yalnzca bir bit olabilecei iin A kiisi son aamada gnderdii paketi rahatlkla istedii bite (veya hatta bit grubuna)

79

ifresi zlebilen bir anahtar gnderebilirdi. Ancak paketin iinde fazladan bir rasgele metnin farkl anahtarl ifre zme ilemleri iin konulmu olmas A kiisini bylesi bir hileden alkoymaktadr. 8.18. Sfr-Bilgi spat Yntemi (Zero-Knowledge Proof) Sfr bilgi ispat yntemi, ksaca belli bir bilgiye sahip olduumuzu, o bilginin ne olduunu aa karmadan ispatlamamz salayan yntemdir. spatlayacamz problemi onunla eyapda (isomorphic) baka bir probleme dntrerek problemin kendisi yerine yeni problemi ispatlyoruz. Ancak dntrdmz problem, yle bir ekilde seilir ki bu yeni problemin zm orijinal problemin zm hakknda bilgi vermiyordur. Kar tarafn yeni zm orijinal problemin zmne dntrmesi, en az orijinal problemin kendisini zmesi kadar zor olmaldr. Ancak dier taraftan, bizim aslnda zmne sahip olmadmz bir probleme eyapdaki bir problem iin zm sahibiymiiz gibi davranmamz olaslna kar dier taraf her seferinde bize u soruyu soruyor. "Ya bu eyapdaki problemin zmn bana ver, ya da onun asl probleme e yapda olduunu gster". Ve eer iddiamzda hakl isek bu iki istei de gerekletirebiliriz. Ancak bu iki nermeden birini gerekten salayamyor olmamz, yani hile yapmamz durumuna yer brakmamak iinse bu ilemler n kez (kar taraf ikna oluncaya kadar) tekrarlanr. yle ki, gerekten orijinal problemin cevabn bilmediimiz bir durumda her defasnda sorulan soruya doru cevab verme olaslmz 1/2 dir. n kez tekrarlanma durumunda ise bu ekilde hile ihtimalimiz 1/ne der ki yeterli tekrardan sonra ihmal edilebilecek bir olaslktr. Sfr-bilgi ispat'n dayand nokta ise bu olasln dkldr. Dolaysyla sfr-bilgi ispatta yeterli miktarda tekrar iin mutlak manada bir ispattan ok kar tarafn iknas sz konusudur. Sfr-bilgi ispat yntemleri ne yazk ki her matematiksel probleme ayn etkinlikle uygulanamamaktadr. Kimi zaman ispat iin zmn bir ksmn aa karmak zorunda olduumuz problemler sz konusudur. Bu yzden

80

sfr-bilgi ispat yntemleri, kar tarafn sorusuna ne kadar sklkta doru cevap verebileceimiz lsne gre kusursuz, istatistiksel, hesapsal ya da kullansz gibi kategorilere ayrlmtr.

81

9. EL PT K ER KR PTOGRAF S N N C++ LE S MLASYONU Bu blmde, C++ programn kullanarak daha nceki blmlerde verilen teorik bilgilerin uygulamas yaplmtr. Eliptik eri kriptografisi kullanlarak ifreleme ve ifre zme program hazrlanmtr. 9.1. Eliptik Eri Kriptografi Algoritmasnn Aklanmas 9.1.1. Rasgele bir eliptik erinin oluturulmas nce p 2180 olacak ekilde bir p asal says ve y2 = x3+ax+b denklemindeki eliptik eri parametreleri olan a ve b girilecektir. Daha sonra bu deerlerin doruluu kontrol edildikten sonra, eliptik noktalar grubu olan EF(a,b) oluturulacaktr. Sonrasnda EF(a,b) ierisinden, balang noktas olacak olan =(x1,y1) seilecektir. nin seilmesindeki en nemli kriter, n=0 eitliini salayan en kk n deerinin ok bir byk bir asal say olmas gerekliliidir. Bu deer de seildikten sonra, artk EF(a,b) ve , kripto sistemin tm katlmclarna yaynlanabilir.

82

Rasgele bir E 2 3 y = x +ax+ eliptik erisi ret

4a +27b =0

Rasgele bir x GF(p ) olacak ekilde nokta se

f(x) = x +ax+b deerini hesapla

x deerini arttr

f(x)in karekk var m?

y = f (x) deerini salayan y deerini hesapla

E eliptik erisi zerinde P(x,y) olacak ekilde 2 rasgele nokta bulunur.

ekil 9.1. E eliptik erisi zerindeki noktalarn bulunmas 9.1.2. Eliptik eri zerinde yer alan bir noktaya ak metnin gmlmesi

Programda kullanacamz yntemin

1 kadar hata verme olasl vardr ve 2K

K genelde 30 K 50 arasnda deer alan bir tamsaydr. Burada p asal say

83

ve q=pr nin byk ve tek say olduunu varsayyoruz. Fq cismi q>M*K olacak ekilde seilir. Bylece tamsaylar 1den M*K ya kadar m*K+j, 1 j K, eklinde yazlabilir ve tamsaylarla Fqnun elemanlar kmesi arasnda bir birebir rten fonksiyon oluturabiliriz. Verilen bir m metin birimi, her bir j=1,2,.,K iin, m*K+j karlk gelen bir Fq eleman elde ederiz. Bir kez 'y elde ettiimizde, y2 = f()y alarak bunu y2=x3+ax+b eitliinin sa tarafna gireriz. Sonrada y yi bulabiliriz. x ve yyi yerine koyduumuzda bize y2=f(x)=x3+ax+b eliptik erisinde Pm = (x,y) noktasn verir. Eer y2 = f()nin p modlne gre karekkleri yoksa, o zaman j deerini bir artrp ilemleri tekrardan yaparak Fq alannda bir f() deeri bulunur. Bu yaklamda dikkat edilmesi gereken husus, jnin deeri Kdan byk olursa Pm noktasndan m metnini elde edemiyeceimizdir. 9.1.3. Anahtar deiimi Bir A ve B kullancs arasndaki anahtar deiimi aadaki gibi gerekleir: 1. A, nden kk bir nA tamsays seer. Bu Ann zel anahtardr. Daha sonra A, PA= nA hesabyla EF(a,b)nin bir noktas olan kendi ak anahtarn oluturur. 2. Bde ayn metotla kendi ak anahtar PByi oluturur. 3. A gizli anahtar K = nAPB ile, Bde gizli anahtar K = nBPA ile elde eder. nc aamadaki iki hesaplamann sonucuda ayndr. nk, nAPB = nA(nB) = nB(nA) =nBPA eitlii mevcuttur.

84

Bu ynteme bir atak gerekletirmek isteyen saldrgan, verilmi ve k deerlerinden yola kara k deerini hesaplamak isteyecektir ve bu ok zordur. 9.1.4. ifreleme Pm gibi bir mesaj ifrelemek ve bir B kullancsna gndermek isteyen bir A kullancs, rasgele pozitif bir nA tamsays seer ve Cm ifreli metninin noktalarn aadaki ekilde elde eder: Cm = (nA,Pm + nAPB) 9.1.5. ifre zme B kullancs aadaki ekilde mesajn ifresini zer, Pm +nAPB-nB(nA) =Pm +nA(nB) nB(nA) =Pm (9.2) (9.1)

Bir sonraki aama metin birimi min E zerinde bulunduu Pm tanmlama noktasndan geri alnmasdr. Bunu yapmak, Pm noktasndaki x koordinatna x ~ 1 uyan tamsaynn ~ olduu yerlerde m = x formln kullanarak ok kolay bir hale dnmektedir. 9.2. Eliptik Eri Kriptografisinin C++ Uygulamas Bu blme kadar eliptik eri kriptografisi algoritmasnn uygulanmas iin gerekli tm matematiksel ve kuramsal bilgiler verilmitir. Bu blmde eliptik eri kriptografisi algoritmasnn; Borland C++ 6 yardm ile Windows iletim sistemi altnda herhangi bir hazr ifreleme ktphanesi kullanmakszn uygulamas anlatlmtr.

85

Program altrldnda aadaki ekran belirir.

Resim 9.1. C++ daki programn ana arabirim ekran grnts Bundan sonraki alt blmlerde, programn yaps ve kullanlan fonksiyonlar hakknda bilgi verilmitir. 9.2.1. ECC fonksiyonlarnn aklanmas Bu blmde ECC ifrelemenin ihtiya duyduu algoritmalarn bulunduu fonksiyonlarn aklamalar yaplacaktr. ncelikle ifreleme iin gerekli anahtarlarn retilmesi, daha sonra bu anahtarlar kullanlarak bir mesajn ifrelenebilmesi iin kullanlan fonksiyonlar anlatlacaktr. a ve b deerlerine bal olarak denklemin eliptik eri olup olmadnn testi y2 = x3+ax+b denklemindeki a ve b saylar gerel saylardr ve baz basit koullar salamas gerekir. x3+ax+b ayrlabilen katsaylara sahip deilse

86

veya 4a3+27b20 ise y2 = x3+ax+b eliptik eridir deriz. Bu testi de aadaki fonksiyon ile yapabiliriz: void __fastcall Telliptic_curve::Button3Click(TObject *Sender) /// a ve b Deerlerinin Kontrol { if (Button1->Tag==1) { a = StrToInt(Edit3->Text); b = StrToInt(Edit4->Text); if ((a>=p)||(b>=p)) ShowMessage("asal saydan kk bir say giriniz"); else { test = ((4 * a * a * a) + (27 * b * b)) % p ; if (test == 0) {Button3->Tag=0; Edit5->Text="(4 * A^3 + 27 * B^2) "+IntToStr(p)+" Saysnn katdr, Baka say giriniz!";} else{Button3->Tag=1; Edit5->Text="OK, (4 * A^3 + 27 * B^2) "+IntToStr(p)+" Saysnn kat deildir."; } } } else ShowMessage("asal say giriniz"); Eliptik eri zerindeki noktalarn hesaplanmas Rasgele setiimiz E eliptik erisi zerindeki noktalarn hesaplanmas iin aadaki fonksiyon kullanlabilir : void __fastcall Telliptic_curve::Button4Click(TObject *Sender) { if(Button3->Tag==1) { ListBox1->Clear(); ListBox1->Items->Add("x x^3+ "+ Edit3->Text+"* x + "+Edit4->Text+ " mod ("+IntToStr(p)+") in QR("+IntToStr(p)+")? y"); m=0; for (int i = 0; i < p; i++) { k=0; long z = ((long) pow(i, 3) + (a * i) + b) % p; if(z!=0) { long eulerTest = ((long)pow(z, ((p - 1,0)/ 2,0))); if(eulerTest==1) {

87

evet

for (int j = 0; j < p; j++) { long quad = (j * j) % p; if (quad==z){ R[m]= j; P[m]=i; k=k+1; ListBox1->Items->Add(IntToStr(i) + " " + IntToStr(z) + " "+ IntToStr(R[m])); m=m+1; } } } //if(eu==1) } // if(z!=0) } // for (int i = 0; i < p; i++) } // if(Button3->Tag==1) else ShowMessage("Asal saynn kat baka say giriniz");

} Elde ettiimiz eliptik noktalar grubu EF(a,b)yi oluturmaktadr. Balang noktasnn hesaplanmas EF(a,b) ierisinden, balang noktas (generator point) olacak olan =(x1,y1) seilsin. nin seilmesindeki en nemli kriter, n=0 eitliini salayan en kk n deerinin ok bir byk bir asal say olmas gerekliliidir. Bunu salayan fonksiyon da aada verilmitir. void __fastcall Telliptic_curve::Button12Click(TObject BALANGI NOKTALARINI BUL { ListBox5->Clear(); for (int u=0;u<ListBox2->Items->Count;u++) { c=1; y= u; RR[t]= R[y]; PP[t]= P[y]; A[0]= P[y]; B[0]= R[y]; while (((R[y]!=(p-RR[t]))||((PP[t]==0)&&(RR[t]==0)))&&(c<(2*p+1))) *Sender) //

88

{ if((PP[t]!=P[y])||(RR[t]!=R[y])) {ust = (RR[t]-R[y])%p; alt = (PP[t]-P[y])%p; if(ust!=0) {do { ust=ust+p; } while(!((ust%alt)==0)); h=((long)ust/alt)%p; else h=0; } }

else { ust=(3*(long)pow(PP[t],2)+a)%p; alt=(2*RR[t])%p; if(ust!=0) {do { ust=ust+p; } while (!((ust%alt)==0)); h=((long)ust/alt)%p; } else h=0; } PP[t]= ((long)pow(h,2)-P[y]-PP[t])%p; while (PP[t]<0) { PP[t]=p+PP[t]; }; RR[t]=(h*(P[y]-PP[t])-R[y])%p; while (RR[t]<0) { RR[t]=p+RR[t]; }; c++; if(c>2*p){ShowMessage("bu say sonsuz say deil, baka say sein");} A[c-1]= PP[t]; B[c-1]= RR[t]; baslangic[u]=c; int y=1; if ((p == 0)||(p ==1)) { Edit2->Text="p bir asal say deildir"; } else {for (int i=2;i<sqrt(p);i++) { if((p%i)==0){ y=0; break; }} }; }

89

if (y==0){Edit2->Text="p bir asal say deildir. Yeni bir say giriniz."; Button1->Tag=0;} else {Edit2->Text="p asal saydr "; Button1->Tag=1;} } enb=baslangic[0]; for (int u=1;u<ListBox2->Items->Count;u++) { if(enb<baslangic[u]) { enb=baslangic[u]; } // for (int u=0;u<ListBox2->Items->Count;u++) for (int u=0;u<ListBox2->Items->Count;u++) { if(enb==baslangic[u]) ListBox5->Items->Add("( "+IntToStr(P[u])+" , "+IntToStr(R[u])+" )"); } // for (int u=0;u<ListBox2->Items->Count;u++) }

ifreleme Balang olarak, programa ifreleme yaplacak ak metin girilir. Daha sonra q>M*K olacak ekilde K deeri seilir. Genellikle K deeri 30 K 50 arasnda deer alan bir tamsaydr. Girilen ak metin birimi her bir j=1,2,.,K iin, m*K+j karlk gelen bir Fq eleman elde ederiz. Bir kez 'y elde ettiimizde, y2 = f()y alarak bunu y2=x3+ax+b eitliinin sa tarafna gireriz. Sonrada yyi bulabiliriz. x ve yyi yerine koyduumuzda bize y2=f(x)=x3+ax+b eliptik erisinde Pm = (x,y) noktasn verir. Bu da aadaki fonksiyon ile yaplr : mesaj = Edit9->Text; for (int i=0;i<Edit9->GetTextLen();i++) { Edit9->SelStart = i; Edit9->SelLength =1; if ((Edit9->SelText=="A")||(Edit9->SelText=="a")) aaa[i]=10; else if ((Edit9->SelText=="B")||(Edit9->SelText=="b")) aaa[i]=11; else if ((Edit9->SelText=="C")||(Edit9->SelText=="c")) aaa[i]=12; else if ((Edit9->SelText=="D")||(Edit9->SelText=="d")) aaa[i]=13; else if ((Edit9->SelText=="E")||(Edit9->SelText=="e")) aaa[i]=14; else if ((Edit9->SelText=="F")||(Edit9->SelText=="f")) aaa[i]=15; else if ((Edit9->SelText=="G")||(Edit9->SelText=="g")) aaa[i]=16; else if ((Edit9->SelText=="H")||(Edit9->SelText=="h")) aaa[i]=17;

90

else if ((Edit9->SelText=="I")||(Edit9->SelText=="i")) aaa[i]=18; else if ((Edit9->SelText=="J")||(Edit9->SelText=="j")) aaa[i]=19; else if ((Edit9->SelText=="K")||(Edit9->SelText=="k")) aaa[i]=20; else if ((Edit9->SelText=="L")||(Edit9->SelText=="l")) aaa[i]=21; else if ((Edit9->SelText=="M")||(Edit9->SelText=="m")) aaa[i]=22; else if ((Edit9->SelText=="N")||(Edit9->SelText=="n")) aaa[i]=23; else if ((Edit9->SelText=="O")||(Edit9->SelText=="o")) aaa[i]=24; else if ((Edit9->SelText=="P")||(Edit9->SelText=="p")) aaa[i]=25; else if ((Edit9->SelText=="Q")||(Edit9->SelText=="q")) aaa[i]=26; else if ((Edit9->SelText=="R")||(Edit9->SelText=="r")) aaa[i]=27; else if ((Edit9->SelText=="S")||(Edit9->SelText=="s")) aaa[i]=28; else if ((Edit9->SelText=="T")||(Edit9->SelText=="t")) aaa[i]=29; else if ((Edit9->SelText=="U")||(Edit9->SelText=="u")) aaa[i]=30; else if ((Edit9->SelText=="V")||(Edit9->SelText=="v")) aaa[i]=31; else if ((Edit9->SelText=="W")||(Edit9->SelText=="w")) aaa[i]=32; else if ((Edit9->SelText=="X")||(Edit9->SelText=="x")) aaa[i]=33; else if ((Edit9->SelText=="Y")||(Edit9->SelText=="y")) aaa[i]=34; else if ((Edit9->SelText=="Z")||(Edit9->SelText=="z")) aaa[i]=35; else if (StrToInt(Edit9->SelText)== 0) aaa[i]=0; else if (StrToInt(Edit9->SelText)== 1) aaa[i]=1; else if (StrToInt(Edit9->SelText)== 2) aaa[i]=2; else if (StrToInt(Edit9->SelText)== 3) aaa[i]=3; else if (StrToInt(Edit9->SelText)== 4) aaa[i]=4; else if (StrToInt(Edit9->SelText)== 5) aaa[i]=5; else if (StrToInt(Edit9->SelText)== 6) aaa[i]=6; else if (StrToInt(Edit9->SelText)== 7) aaa[i]=7; else if (StrToInt(Edit9->SelText)== 8) aaa[i]=8; else if (StrToInt(Edit9->SelText)== 9) aaa[i]=9; } int w=1; for (int i = 0; i < Edit9->GetTextLen(); i++) { int xx=1; w=1; do { k=0; xkoor[i]= aaa[i]*K+w; xkoor[i]=xkoor[i] %p; long z = ((long) pow(xkoor[i], 3) + (a * xkoor[i]) + b) % p; for (int j = 0; j < p; j++) { long quad = (j * j) % p; if (quad==z){ MESAJ[i]= j; k=k+1; ListBox4->Items->Add("i= "+ IntToStr(i)+" mesaj = "+IntToStr(aaa[i])+ " x = "+IntToStr(xkoor[i])+ " y2= " + IntToStr(z) + " y= "+ IntToStr(MESAJ[i])); xx=0;

91

break; }} if(xx!=0) {w=w+1; } }while (xx!=0); } // for (int i = 0; i < p; i++) Yukardaki fonksiyonu kullanarak elde ettiimiz deer, girdiimiz mesajn gml olduu eliptik eri grubunda yer alan nokta deeridir. Daha sonra bu noktann anahtar deiimi yaplarak A kiisi tarafndan ifrelenmesi salanr. Anahtar deiiminde B kullancsnn genel anahtar PB ile A kullancsnn zel anahtar nA arplr. Daha sonra A kullancs, rasgele pozitif bir nA tamsays seer ve Cm ifreli metninin noktalarn Cm = (nA,Pm + nAPB) elde eder. Burada kullanlan fonksiyon eliptik eri zerindeki noktalarn toplanmas ile ilgili aada yer alan temel denklemleri kullanarak kolaylkla yaplr. P= (x1,y1) ve Q= (x2,y2) ise ve P -Q ise, bu durumda, P+Q =(x3,y3)

x3 2 x1 x2 (mod p) y3 ( x1 x3) y1 (mod p) iin koul, y2y1 = x2 x1 3x12+a 2y1 ifre zme B kullancs, A kullancsnn gnderdii ifreli metnin ifresini kendi zel anahtarn kullanarak zer. Bunu da; Pm +nAPB-nB(nA) =Pm +nA(nB) nB(nA) = Pm ile salar. Daha sonra aadaki fonksiyonu kullanarak ak metni elde eder. void __fastcall DE FRELEME Telliptic_curve::Button11Click(TObject *Sender) // eer P = Q ise eer PQ ise

92

{ for(int ii=0;ii<Edit9->GetTextLen();ii++) {int ll=0; do{ ll=ll+1; mesa[ii] = (dsifre1[ii]-ll)/K; }while(((dsifre1[ii]-ll)%K)!=0); if (mesa[ii]== 10) ListBox6->Items->Add(" A " ); else if (mesa[ii]== 11) ListBox6->Items->Add(" B" ); else if (mesa[ii]== 12) ListBox6->Items->Add(" C " ); else if (mesa[ii]== 13) ListBox6->Items->Add(" D " ); else if (mesa[ii]== 14) ListBox6->Items->Add(" E " ); else if (mesa[ii]== 15) ListBox6->Items->Add(" F " ); else if (mesa[ii]== 16) ListBox6->Items->Add(" G " ); else if (mesa[ii]== 17) ListBox6->Items->Add(" H " ); else if (mesa[ii]== 18) ListBox6->Items->Add(" I " ); else if (mesa[ii]== 19) ListBox6->Items->Add(" J " ); else if (mesa[ii]== 20) ListBox6->Items->Add(" K " ); else if (mesa[ii]== 21) ListBox6->Items->Add(" L " ); else if (mesa[ii]== 22) ListBox6->Items->Add(" M " ); else if (mesa[ii]== 23) ListBox6->Items->Add(" N " ); else if (mesa[ii]== 24) ListBox6->Items->Add(" O " ); else if (mesa[ii]== 25) ListBox6->Items->Add(" P " ); else if (mesa[ii]== 26) ListBox6->Items->Add(" Q " ); else if (mesa[ii]== 27) ListBox6->Items->Add(" R " ); else if (mesa[ii]== 28) ListBox6->Items->Add(" S " ); else if (mesa[ii]== 29) ListBox6->Items->Add(" T " ); else if (mesa[ii]== 30) ListBox6->Items->Add(" U " ); else if (mesa[ii]== 31) ListBox6->Items->Add(" V " ); else if (mesa[ii]== 32) ListBox6->Items->Add(" W " ); else if (mesa[ii]== 33) ListBox6->Items->Add(" X " ); else if (mesa[ii]== 34) ListBox6->Items->Add(" Y " ); else if (mesa[ii]== 35) ListBox6->Items->Add(" Z " );

93

else if (mesa[ii]== 0) ListBox6->Items->Add(" 0 " ); else if (mesa[ii]== 1 ) ListBox6->Items->Add(" 1 " ); else if (mesa[ii]== 2) ListBox6->Items->Add(" 2 " ); else if (mesa[ii]== 3) ListBox6->Items->Add(" 3 " ); else if (mesa[ii]== 4) ListBox6->Items->Add(" 4 " ); else if (mesa[ii]== 5) ListBox6->Items->Add(" 5 " ); else if (mesa[ii]== 6) ListBox6->Items->Add(" 6 " ); else if (mesa[ii]== 7) ListBox6->Items->Add(" 7 " ); else if (mesa[ii]== 8) ListBox6->Items->Add(" 8 " ); else if (mesa[ii]== 9) ListBox6->Items->Add(" 9 " );} }

94

10. SONU Gnmzde, bilim ve teknolojinin hzla gelimesi sonucunda, bilgilerin korunmas konusunda byk sorunlar yaanmaktadr. Buna bal olarak, simetrik ve asimetrik kripto sistemleri hzla yaylmaktadr. Asimetrik kripto sistemlerinin en gvenilir ve son zamanlardaki en popler sistemi Eliptik Eri Kripto Sistemidir. Ancak, eliptik eri kripto sistemlerine dayal uygulamalarda sistemin matematiine dikkat edilmesi gerekmektedir. Bu sistemlerin uygulamalar hem byk saylarda aritmetik, hem de sonlu cisimlerin ve eliptik eri noktalarnn aritmetiini gerektirmektedir. Eliptik Erilere dayal ak anahtarl kripto sistemleri daha kk anahtar uzunluu ile, RSA ve DSA gibi dier ak anahtar kripto sistemlerinin sahip olduu gvenlii salamaktadr. Daha kk anahtar boyu bu sistemlere byk bir avantaj salamaktadr. zellikle saysal imza gibi akll kart kullanlan uygulamalarda eliptik eri sistemlerinin gelecekte daha fazla yaygnlamas beklenmektedir. Saysal imza uygulamalarnda en ok kullanlan yntemlerden biri de zet fonksiyonuyla imzalamaktr. Bu yntem ounlukla bankalarda para aktarmndaki gvenlii salamak ve verilen talimatn inkr edilememesini salamak amacyla kullanlr. ECC, RSA ifreleme algoritmasnn yerini alabilecek ok nemli avantajlara sahip bir ak anahtarl ifreleme algoritmasdr. Bununla ilgili almalar hem Trkiyede hem de btn dnya da hzla devam etmektedir. olarak hak ettii yeri alacaktr. inde bulunduumuz yzylda en ok kullanlan ve gvenilir ifreleme yntemi

95

KAYNAKLAR 1. Koblitz, N., A Course in Number Theory and Cryptography 2nd ed., Springer-Verlag, New York, 167-199, (1987). 2. Jones, A.G., Jones, J.M., Quadratic Residues, Elementary Number Theory, 3rd ed., Spinger, London, 119-141 (1999). 3. Lenstra, H.W, Jr., Factoring integers with elliptic curves, Annuals of Mathematics, 126: 649-673 (1987). 4. Akben, S.B., Suba, A., RSA ve Eliptik Eri Algoritmasnn Performans Karlatrlmas, KS Fen ve Mhendislik Dergisi, 8(1): 35-38 (2005). 5. Stinson, D.R., Cryptography Theory and Practice 2nd ed., CRC Press, Amerika, 183-190 (1995). 6. Hankerson, D., Menezes, A., Vanstone, S., Guide to Elliptic Curve Cryptography, Spinger, New York, 75-152 (2003). 7. Menezes, A., Elliptic Curve Public Key Cryptosystems, Kluwer Academic Publishers, 65-78, (1993). 8. Koblitz, N., Elliptic curve cryptosystems, Computation, 48: 203209 (1987). Mathematics of

9. Menezes, A. J., Oorschot, P. C., Vanstone, S. A., Handbook of Applied Cryptography, CRC Press, Amerika, 425-534, (1996). 10. Crutchley, A.D., Cryptography and Elliptic Curves, Yksek Lisans Tezi, University of Southampton Faculty of Mathematical Studies, Southampton, 55-56 (1999). 11. Blake, I.F., Seroussi, G., Smart, N.P., Advances in Elliptic Curve Cryptography, Cambridge University Press, ngiltere, 3-19, (2005). 12. nternet: Handbook of Applied Cryptography http://www.cacr.math.uwaterloo.ca/hac/ (2006). 13. Cenk, M., zbudak, F., Eliptik Eri Kriptografi ve Aritmetii, 1. Ulusal Kriptoloji Sempozyumu, ODT Ankara, 134-141 (2005).

96

ZGEM Kiisel Bilgiler Soyad, ad Uyruu Doum tarihi ve yeri Medeni hali Telefon Faks e-mail Eitim Derece Lisans Lise Deneyimi Yl 2003-2006 Yabanc Dil ngilizce, Almanca Hobiler SCUBA, Yama Parat, Daclk, Voleybol, Yzme Yer Milli Savunma Bakanl Grev Elktr.Sis.Prj.ve Kf.Mh. Eitim Birimi Gazi niversitesi Elkt.ve Elktr. Mh. Blm Ziya Gkalp Lisesi 2002 1997 Mezuniyet tarihi : ET N, zge : T.C. : 07.07.1979 Diyarbakr : Bekar : 0 (312) 402 42 74 : 0 (312) 402 44 04 : cetinozge@hotmail.com.

You might also like