KSÜ Fen ve Mühendislik Dergisi 8(1)-2005 35 KSU Journal of Science and Engineering 8(1)-2005 RSA ve Eliptik Eğri Algoritmasının Performans Karşılaştırması Selahaddin Batuhan AKBEN, Abdülhamit SUBAŞI KSÜ, Mühendislik ve Mimarlık Fakültesi, Elektrik Elektronik Mühendisliği Bölümü, Kahramanmaraş ÖZET: Internet teknolojisindeki gelişmelerin ardından ortaya çıkan e-iletişim (e-ticaret, e-devlet, e-eğitim vb.) bilgi güvenliği sorunlarını da beraberinde getirmiştir. Şifreleme/deşifreleme (encryption-decryption) bir internet ortamında veya bilgisayar ağında veri güvenliğini sağlamak için kullanılır. Bu nedenle günümüzde internet yada bilgisayar ağlarında şifrelemenin önemi gün geçtikçe artmaktadır. Bu çalışmada, açık ve gizli anahtar algoritmaları, bunların kullanıldığı yerler ve açık anahtar şifreleme yöntemlerinin karşılaştırması yapılmıştır. Yaygın olarak kullanılan açık anahtar şifreleme yöntemlerinden olan RSA (Rivest, Shamir, Adelman) ve Eliptik Eğri algoritmasının performansları karşılaştırılmıştır. Sonuç olarak Eliptik Eğri algoritması kullanılarak, şifrelenmiş bir bilginin, deşifrelenmesinin diğer algoritmalara göre daha güvenilir ve hızlı olduğu gösterilmiştir. Anahtar Kelimeler: RSA, Eliptik Eğri Şifreleme (EEŞ), Kriptoğrafi Performance Comparison of RSA and Elliptic Curve Algorithms ABSTRACT: After the improvements of internet technologies, e-communication had been resulted in data security problem. Encryption/decryption is used for data security in internet and computer networks. Because of this, importance of encryption in the internet and computer networks is being increased from day to day. In this study, definition of public and private key algorithms, their usage areas and comparison of public key algorithms was done. As a result it was shown that using elliptic curve algorithm for decryption of encrypted data is more reliable and faster than other public key encryption algorithms. Key Words: RSA, Elliptic Curve Encryption, Cryptography GİRİŞ Bilginin gizli kalma gereksiniminin büyük önem taşıdığı, eski çağlardan bu yana bilinmektedir. Bu yüzden bilginin gizli kalması için geliştirilen birçok yöntem vardır. Bu yöntemler, önceleri metnin şeklinin bozulması, metindeki karakterlerin yerinin değiştirilmesi olarak başlamış ve daha sonra teknolojinin gelişmesi ile daha çok kullanıcının yararlanabileceği bilgisayarla yapılan yöntemlere doğru gitmiştir. Bu yöntemler açık anahtar şifreleme (asimetrik şifreleme) ve gizli anahtar şifreleme (simetrik şifreleme) olarak ikiye ayrılır. Gizli anahtar şifreleme tekniğinde bilginin şifrelenmesi ve deşifrelenmesi aynı anahtar ile gerçekleştirilir. Bu anahtar yalnızca şifreleme ve deşifreleme işlemini yapacak kişilerde bulunur. Bu sayede matematiksel yöntemlerle anahtarın ele geçirilmesi hemen hemen imkansız olur. Bu yöntem genelde askeri alanlar gibi bilgi gizliliğinin hayati önem taşıdığı yerlerde kullanılır. Açık anahtar şifrelemede ise bilgi herkesin bildiği bir açık anahtar ile şifrelenir ancak deşifreleme işlemi yalnızca deşifreleme işlemini yapacak kişi tarafından bilinen ve açık anahtardan türetilerek elde edilen gizli anahtar ile gerçekleştirilir. Açık anahtar şifrelemede gizli anahtarın açık anahtardan elde edilmesi karmaşık matematiksel yöntemlere dayalı olduğu için açık anahtardan gizli anahtarın elde edilmesi mantık olarak imkansıza yakın olmaktadır. Günümüzde internet tabanlı sistemlerde, cep telefonu sistemlerinde, akıllı kartlarda v.b. uygulamalarda bu yöntem kullanılmaktadır. Şekil 1. Tek anahtar ile gizli anahtar (simetrik) şifreleme Şekil 2. Çift anahtar ile açık anahtar (asimetrik) şifreleme Güncel bilgisayarların giderek daha hızlanması ve daha fazla işlemi bir arada yapabilmesi, insanları farklı yöntemlerin kullanıldığı yeni algoritmalar geliştirmeye sevk etmiştir. Günümüzde en çok kullanılan yöntemler şunlardır: Yerine Koyma Yöntemleri (Substitution Methods): Gizli anahtar şifreleme tekniğinde kullanılan bu şifreleme yönteminde açık metindeki karakterlerin yerine, başka bir alfabenin karakterleri veya sayısal değerler koyulur. Şifreli metindeki orijinal karakterler kimliklerini kaybederler, fakat pozisyonları sabit kalır. Ceasar, Polybius ve Vigenere şifreleri bu yöntemlere örnek olarak gösterilebilir (Mullins, ve Moore, 2002). Yer Değişme Yöntemleri (Transposition Methods): Yine gizli anahtar şifreleme tekniğinde kullanılan bu
KSÜ Fen ve Mühendislik Dergisi 8(1)-2005 36 KSU Journal of Science and Engineering 8(1)-2005 şifreleme yönteminde ise, açık metin karakterlerinin pozisyonları yeniden düzenlenir. Orijinal karakterler konumlarını kaybeder, fakat kimlikleri değişmez. Picket Fence ve Sütun (Columnar) ve Beşerli (Double Five) şifreleme algoritmaları bu yöntemlere örnek olarak gösterilebilir (Highland, 1997). Matematiksel Yöntemler: Açık anahtar şifreleme tekniklerinde kullanılan matematiksel yöntemlerde genellikle zor problemlere dayalı olan algoritmalar kullanılmaktadır (Schneier, 1996). Çarpanlara ayırma, sonlu alanda ayrık logaritmaların hesaplanması, eliptik eğriler üzerinde ayrık logaritmaların hesaplanması, Knapsack problemleri denklemlerin köklerinin bulunması, bu matematiksel yöntemlerden bazılarıdır. Verilerin kriptografik açıdan korunması donanım ve yazılım uygulamaları olarak gerçekleştirilmektedir. Donanım uygulamaları pahalı olup basit ve güvenlidir. Yazılım uygulamaları ise esnek ve pratiktir. Günümüzde en çok kullanılan yazılım uygulamaları açık anahtar şifreleme yöntemleri ile gerçekleştirilir. Açık anahtar şifreleme yönteminin en çok kullanılan algoritmaları ise RSA ve Eliptik eğri algoritmalarıdır. Şifreleme Bilgiyi alacak şahıs bilgi gönderen şahısın açık anahtarı olan (n, e) yi elde eder. Mesaj m [0, n-1] arası olacak şekilde bir tamsayıya dönüştürülür. C = m e (mod n) olarak şifreli metin hesaplanır. Bilgiyi gönderecek şahıs şifreli metin c yi bilgiyi alacak şahısa gönderir. Deşifreleme Bilgiyi alan şahıs özel anahtarını kullanılarak düzmetini m = c d (mod n) olarak tekrar elde eder. Eliptik eğri Yöntemi Bir açık anahtar şifreleme yöntemi olan eliptik eğri algoritmasında F q sonlu alanı üzerinde eliptik eğri E ve bu eğri zerinde Q noktası için, <Q> Q nun katları kümesi olsun. A <Q> verildiğinde, öyle bir x bulun ki, A = xq olsun (Menzes, 1993). Yani eğri üzerindeki bir noktanın verilen bir sayı ile çarpımı eğri üzerindeki başka bir noktayı oluştursun MATERYAL ve METOT RSA Yöntemi Açık anahtar şifrelemenin günümüzde en çok kullanılan algoritmasıdır. Çok büyük iki asal sayının çarpımından oluşan bir tamsayı verildiğinde, bu sayının çarpanlarına ayrılması oldukça zordur. RSA şifreleme yöntemi bu probleme dayanmaktadır. Bu yöntemde düz metnin her bir karakterinin özel olarak seçilmiş bir sayıdaki (e sayısı) üssü alınarak, yine bu özel sayı ile ilgili başka bir sayıya (n sayısına) bölümünden kalan bulunarak, şifreli metin oluşturulur. Karşı tarafta ise şifreli metnin karakterlerinin aynı şekilde yine özel olarak seçilmiş başka bir sayı ile üssü alınır (d sayısı) ve birinci taraftaki sayıya (n sayısına) bölümünden kalan bulunur ve düz metin geri oluşturulur. Bütün bu işlemler için ayrı ayrı geliştirilmiş matematiksel algoritmalar vardır. Anahtar Üretimi İki adet birbirinden bağımsız rasgele büyük p ve q asal sayıları yaklaşık olarak aynı büyüklükte (aynı bit) olmak üzere üretilir. n = p.q ve Ø = (p-1).(q-1) hesaplanır. Rasgele tamsayı e, obeb(e, Ø ) = 1 ve 1 < e < Ø şartlarını sağlamak kaydıyla üretilir. Kapsamlı Öklid Algoritması kullanılarak yegane tamsayı d, 1 < d < Ø ve e.d 1 mod(ø) şartlarını sağlamak kaydıyla üretilir. Bilgiyi alacak şahsın açık anahtarı (n, e); gizli anahtar ise d olur. Şekil 3. y 2 = x 3 7x Eliptik Eğrisi Sonlu alanlar için ayrık logaritma probleminin varsayılan zorluğuna dayanan bir çok şifreleme sisteminin, eliptik eğrilere uygulaması bulunmaktadır. Bu sistemlerde açık metnin gösterimi aşikardır: Açık metnin her bir karakteri, alanın bir elemanı ile eşlenmektedir. Eliptik eğrilerde ise, karakter dizilerinin eliptik eğri üzerindeki noktalarla eşlenmesi gerekmektedir. Bu eşleme yapıldıktan sonra şifreleme işlemi bu noktalar kullanılarak gerçekleştirilir. (Menzes, 1993). Şekil 1 de verilen örnek eğride, açık metne ait bir ya da bir kaç karakterden oluşan bir bloğun P noktasıyla eşlendiği varsayılırsa, şifreleme işleminin noktanın kendisiyle toplanması suretiyle gerçekleştirilmesi durumunda, şifrelenmiş metin R noktası olmaktadır.
KSÜ Fen ve Mühendislik Dergisi 8(1)-2005 37 KSU Journal of Science and Engineering 8(1)-2005 Anahtar Üretimi Rasgele tamsayı [1, n-1] olmak üzere seçilir. Q = d.p hesaplanır. Biligiyi alacak şahısın açık anahtarı Q ve özel anahtarı ise d dir. Şifreleme Bilgiyi gönderecek şahıs bilgiyi alacak şahısın açık anahtarı olan Q yu elde eder. Mesaj m F q nun elemanı olacak şekilde bir tamsayıya dönüştürülür. Rasgele tamsayı k, [1, n-1] arası olmak üzere seçilir. (x 1, y 1 ) = k.p hesaplanır. (x 2, y 2 ) = k.q hesaplanır. Eğer x 2 = 0 olursa, adım 3 e dönülür. Şifrelenmiş metin c = m.x 2 hesaplanır. Bilgiyi gönderen şahıs (x 1, y 1, c) yi bilgiyi alacak şahısa gönderir. Deşifreleme Bilgiyi alan şahıs, özel anahtarı d yi kullanarak (x 2, y 2 ) = d. (x 1, y 1 ) i hesaplar. Bilgiyi alan şahıs m = (c.x 2 ) -1 mod n ile esas metini bulur. m = (c.x 2 ) -1 mod n ifadesindeki üs (-1), kapsamlı öklit (extended eucledian) algoritmasına göre özel bir hesaplamayı ifade eder. Çarpanlara ayırma yöntemi RSA algoritması gibi asal sayıların çarpanlara ayırma zorluğuna dayanan açık anahtar şifrelemelerde p ve q gibi iki büyük asal sayının çarpımından oluşan n sayısı verildiğinde, p ve q sayılarının bulunmasıdır. α β γ n = p p r... sayısının tüm çarpanlarının sayısı; τ(n)=(α+1)(β+1)(γ+1) (1) olmaktadır. Görüldüğü gibi τ(n) sayısı yalnız α, β ve γ değerlerine bağlıdır. n nin bölenlerinin toplamı ise S( n) = α β + 1 γ + 1 p 1 q r... p 1 q 1 r 1 (2) Burada p, q ve r asal çarpanlar, α, β ve γ ise katsayılar α β γ olup, aynı ( n = p p r ) n sayısı; χ λ µ d = p p r (0 χ α, 0 λ β, 0 µ γ) (3) biçimindeki d sayısına tam olarak bölünür. Buradan anlaşılacağı gibi farklı χ, λ ve µ değerleri için farklı d ler oluşmaktadır. Burada π kombinasyonların sayısı ise; π = (α+1)(β+1)(γ+1) (4) olmaktadır (Sushkevich, 1978). Görüldüğü gibi asal çarpanların bulunması problemi sayılar büyüdükçe, çok karmaşık bir hal almaktadır. Bir sayının asal çarpanlarının bulunması onun asallığının araştırılmasından daha çok zaman gerektirmektedir (Montgomery, 1994). Genel Anahtarın Çözülmesi Amacıyla Asal Sayıların Araştırılması Bir kriptografik algoritma, şifreleme ve deşifreleme için kullanılan matematiksel fonksiyonlardan oluşur. E şifreleme fonksiyonu, M açık metnine uygulanarak C şifreli metni E(M)=C ile elde edilir. D deşifreleme fonksiyonu ise, C şifreli metninden M açık metninin elde edilmesinde kullanılır (D(C)=M). Modern kriptografide, K ile ifade edilen bir şifreleme anahtarı kullanılır. Anahtar için mümkün değerler kümesine, anahtar uzayı (keyspace) adı verilir. Hem şifreleme hem de deşifreleme işlemleri, bu anahtarları kullanarak gerçekleştirilir. Bu durumda fonksiyonlar aşağıdaki şekli alır. E K (M)=C, D K (C)=M (5) Bazı algoritmalar, farklı şifreleme (K 1 ) ve deşifreleme (K 2 ) anahtarları kullanırlar. E K1 (M)=C, D K2 (C)=M (6) Anlaşıldığı gibi anahtar tabanlı algoritmaların simetrik (symmetric) ve açık anahtar (public key) olmak üzere iki genel türü vardır. Bu çalışmadaki amaç, genel anahtar yöntemlerden olan RSA (Rivest Shamir Adleman) ve Eliptik Eğri algoritmalarının deşifre edilmesinin araştırılmasıdır. Bu nedenle, RSA algoritması için en çok kullanılan asal çarpanlarına ayırma yöntemi ve Eliptik Eğri için de Pollard Rho algortiması incelenmiştir. n = p.q; = (p-1).(q-1) e = random ( ) While (Açık anahtar (, e) 1) d = Özel anahtar (, e); Açıkanahtar (a,b) Özelanahtar (a, b) While)b 0 iken r a mod b a b; b r return (a) İf b = 0 d a; x 1; y 0 return (y) x 2 1; x 1 0; y 2 0; y 1 1 While b>0 q a/b ; r a q.b; x x 2 -qx 1; y y 2 q.y 1 ; a b; b r; x 2 x 1 x 1 x; y 2 y 1 ; y 1 y d a; x x 2 ; y y 2 return (y) Şekil 4. RSA anahtar üretimi algoritması
KSÜ Fen ve Mühendislik Dergisi 8(1)-2005 38 KSU Journal of Science and Engineering 8(1)-2005 RSA şifreleme yöntemi için anahtar üretimi algoritması Şekil 3 te verilmiştir. Şifreleme c=m e (mod n), deşifreleme m=c d (mod n) ile yapılır (Schneier, 1996). Özel anahtar bilinmeden, RSA ile şifrelenmiş bir mesajın deşifrelenmesi, n sayısının asal çarpanlarına ayrılmasına dayalı olmaktadır. Asal çarpanlar bulunduktan sonra, p, q, e ve n sayıları kullanılarak, d özel anahtarının hesaplanması ve böylelikle şifreli bilginin deşifre edilmesi mümkündür. Asal sayıların dağılımının düzensizliği ve asal sayı dizisinin genel formülünün bulunamaması, bu sayıları ilginç kılmakta ve şifreleme yöntemlerinde önemini artırmaktadır (Maurer, 1995; Kramer, 1999). Asal sayıların bu düzensizliği aralık büyüdükçe sayı yoğunluğunun kısmen azalmasına rağmen kesin bir dağılım kuralı oluşmamaktadır (Şekil 4). max=(n-1)/2; k= max; for i = 1 to k num = 2i+1; if ((start=num 2 /2) > max) break; for j = start to N step num A[j] = 0; Şekil 6. Hızlı asal sayı bulma algoritması Sonlu alandaki ayrık logaritma yöntemi p, r ve g sayıları verildiğinde r = gk mod p (12) eşitliğini sağlayan k sayısının bulunması olarak açıklanabilir. Örneğin, 3.x 13(mod 17) için x=4 olarak hesaplanır. Bu problem zor olması nedeniyle, El Gamal ve DSS (Digital Signature Standart) gibi pek çok genel anahtar sisteminin temelini oluşturur (Stallings, 1998). Kriptografik uygulamalarda genellikle n asal sayı olmak üzere Z n * grubu kullanılmaktadır. Z n ={0,1,...,n-1} kümesi mod n deki sayıları içermektedir. Z n *={a Z n obeb (a,n)=1} kümesi ise Z n kümesindeki elemanlardan n ile aralarında asal olan sayılardan oluşmaktadır. n asal olduğunda Z n *={a 1 a n-1} olacaktır. Eliptik eğriler üzerinde ayrık logaritmaların hesaplanması yöntemi Şekil 5. Farklı aralıklardaki asal sayı yoğunluğu Asal sayıların dağılımı için ne kadar genel ifadelendirmelerin bulunduğu iddia edilse de (Agrawal ve ark., 1997) şimdilik yalnız yaklaşık değerlendirmeler yapılmaktadır. Asal sayıların oluşturulması için önerilen ifade; P=(2*3*5*7*...*p)±1, (7) şeklindedir. Euler fonksiyonları; f 1 (x)=x 2 +x+41 (8) f 2 (x)=x 2 +x+17 (9) f 3 (x)=2x 2 +29 (10) veya Fermat fonksiyonu g(n)= 2 2n + 1 (11) yalnız belirli aralıklar için geçerlidir (Anonim, 2002). Asal çarpanların bulunması için asal sayıların bilinmesi gerekir. Asal sayı büyüdükçe, işlem sayısı da artmaktadır. Asal sayıların üretilmesinde kullanılan etkin yaklaşım Şekil 6 da açıklanmıştır. y 2 =x 3 +ax+b (13) bağıntısında verilen eşitliği sağlayan (x, y) noktaları bir eliptik eğri tanımlar. Eliptik eğri üzerindeki herhangi bir P=(xP, yp) noktası için -P=(xP, -yp) noktası da kesinlikle eğri üzerindedir. Kriptografik uygulamalar hızlı ve kesin işlemler gerektirdiğinden pratikte F p ve F 2m sonlu alanları üzerindeki eliptik eğri grupları kullanılır (Anonim, 1999). Eliptik eğriler üzerindeki ayrık logaritma problemi ise verilen P, Q noktaları için P.k=Q eşitliğini sağlayan k sayısının bulunmasıdır. k, Q nun P tabanına göre ayrık logaritması olarak adlandırılır. Bir eliptik eğri üzerindeki P ve Q (Q -P) gibi iki noktanın toplamı Şekil 1 de geometrik olarak açıklanmaktadır. P ve Q noktalarının toplanması için öncelikle iki nokta arasına bir doğru çizilir. Bu doğru eliptik eğri ile -R noktasında kesişir. -R noktasının x eksenine göre simetriği olan R noktası, P ve Q nun toplamı olarak elde edilir. Eliptik eğri üzerindeki toplama işlemlerini gerçekleştirmek için geometrik yöntemin haricinde matematiksel formüller de vardır. P noktası ile P noktasının toplanmasında ise iki nokta arasına çizilen doğru, noktaların x eksenine göre simetrik olmasından dolayı dik olacaktır. Bunun sonucunda bu doğru eğriyi üçüncü bir noktadan kesmez ve yukarıda anlatılan şekilde toplanamaz. Bu nedenle eliptik eğri grubu O ile ifade edilen sonsuzluktaki noktayı içerir ve P+(-P)=O tanımlaması yapılır (Şekil 2).
KSÜ Fen ve Mühendislik Dergisi 8(1)-2005 39 KSU Journal of Science and Engineering 8(1)-2005 Y 0 = P olarak ayarlanır. i =0,1,2 için Y i+1 = F(Y i ) olur. Bu şekilde Rho oluşur. Pollard ın rho yöntemi y 2 =x 3-7x Şekil 7. Eliptik eğrilerde toplama işlemi Grup <P> S 1, S 2, ve S 3 olarak 3 eşit parçaya bölünür. Eliptik Eğri için uyarlanmış öteleme başlar. Y + P if Y S 1 F(Y) = { Y + Y if Y S 2 Y + Q if Y S 3 a k ve b k hesaplanarak Y k = a k P + b k Q şeklinde terimlerin sırası elde edilir. a 0 = 1 ve b 0 = 0 (Y 0 = P iken) a k+1 = a k + 1, 2*a k, a k mod n b k+1 = b k, 2*b k, b k + 1 mod n Özel Anahtarın Çözülmesi Eşleştirme elde edilene kadar her bir önceki terim yeni terimlerle karşılaştırıldı. Yani mevcut terimler bir sonraki eşleştirme için başlangıç değeri olarak kullanıldı. a i P + b i Q = a j P + b j Q Q = xp iken, a i + xb i a j + xb j mod n olsun. x = (a j - a i )*Inv(b i - b j ) mod n Bu yöntem eğer obeb(b i -b j, n) = 1) alınamazsa geçersiz kalır. Ticari uygulamalarda n asal bir sayı olduğu için Polard Rho yönteminin başarı oranı %100 dür. y 2 =x 3-6x+6 Şekil 8. Eliptik eğrilerde P+(-P) işlemi Eliptik Eğri Algoritmasının deşifrelenmesi amacıyla Pollard rho algoritmasının araştırılması Eliptik eğri ayrık logaritma problemi şu şekilde tanımlanır: E(F q ) bir eğri ve P, E de <P> = {P, 2P, 3P np} olacak şekilde bir nokta ve bu eğride kimlik=δ= np olsun. ECDLP: Verilen <P> de Q = xp için x tamsayısının bulunmasıdır. Q açık anahtar, x ise özel anahtardır. P öyle seçilmelidir ki n=<p> de çok büyük olmalıdır. Eliptik Eğri toplama işlemine göre P 3 = 3P = P + P + P olur. <P> deki terimlerin öteleme fonksiyonu kullanılarak sıralı üretimine walk (Yürüme) fonksiyonu F: <P> Ø <P> denir. BULGULAR ve TARTIŞMA Bu çalışmada açık anahtar şifreleme yöntemlerinden olan RSA ve Eliptik Eğri algoritmaları kullanılarak şifrelenmiş bir bilginin, deşifre edilme yöntemleri araştırılmış ve algoritmalar bilgisayar programları kullanılarak çeşitli yönleri ile karşılaştırılmıştır. Tablo 1. RSA ve Eliptik Eğri Algoritmasının Performans Karşılaştırması Pollard Rho kullanarak Eliptik Eğri Algoritması Genelleştirilmiş Sieve kullanarak çarpanlara ayırma Anahtar MIPS-Yılı Anahtar MIPS Yılı 150 3.8 10 10 512 3 10 4 205 7.1 10 18 768 2 10 8 234 1.6 10 28 1024 3 10 11 1280 1 10 14 1536 3 10 16 2048 3 10 20
KSÜ Fen ve Mühendislik Dergisi 8(1)-2005 40 KSU Journal of Science and Engineering 8(1)-2005 Karşılaştırma sonucu Tablo 1 de, Eliptik eğri metodu ile RSA daki tamsayının iki asal çarpanına genelleştirilmiş Sieve yöntemi ile ayrılması esnasında gereken hesapsal çaba gösterilmiştir. Tablodan da anlaşılacağı üzere, RSA nın sağladığı direnci ECC, çok daha düşük anahtar boyutları ile sağlamaktadır. Bu yüzden ECC, düşük anahtar boyutu ile sağladığı yüksek güvenlik sayesinde RSA`ya karşı büyük bir hesapsal üstünlük sağlamaktadır. Tablo 1 de MIPS yıl ile ifade edilen birim, saniyede bir milyon işlem yapma olanağı varsa, problemi çözmek için azami kaç yıl gerektiğidir. Daha uzun sürede deşifrelenme özelliğinden dolayı istenilen bit düzeyindeki güvenlik işlemlerinde eliptik eğri RSA ya göre daha düşük bir anahtar uzunluğu ile aynı işlemi yapabilmektedir. Tablo 2 de en yaygın olarak kullanılan ve en güvenilir yöntemlerden birisi olarak görülen RSA ile eliptik eğri şifreleme yöntemlerinin eşdeğer güvenlik sağlayabilmek için ihtiyaç duydukları anahtar boyları karşılaştırması verilmiştir. Tablo 2. Karşılaştırmalı Anahtar Boyları (Menzes, 1993) Bit olarak istenilen güvenlik EEŞ yöntemide gerekli anahtar uzunluğu RSA yönteminde gerekli anahtar uzunluğu düzeyi 56 112 512 80 160 1024 112 224 2048 128 256 3072 192 384 7680 256 512 15360 Eliptik eğri algoritmasının sağladığı bir avantaj da şifreleme için gereken süreyi azaltmasıdır. Bu avantaj sayesinde cep telefonları ve akıllı kartlar gibi güvenliğin, sürenin önemli olduğu; bellek ve işlemci kaynakların kısıtlı bulunduğu şifreleme uygulamalarında eliptik eğri algoritması daha geçerli olacağı gözükmektedir. Çalışmamızda süre açısından RSA ve eliptik eğri şifreleme performansı karşılaştırılmış ve Tablo 3 te elde edilen sonuçlar gösterilmiştir. Tablonun her bir satırında her iki yöntemin de sağladıkları eşdeğer güvenlik düzeyleri için verilerin şifrelenmesi ve deşifrelenmesi için gereken süreler gösterilmiştir. Tablo 3. RSA Şifreleme ve Eliptik Eğri Şifreleme Performans Ölçümleri RSA Süre(ms) EEŞ Süre(ms) 512 bit 2.2 - - 1024 10.3 160 7.2 2048 59.6 224 10.0 4096 390.5 - - - - 384 30.8 Tablodan da görülebileceği gibi, eşdeğer güvenlik düzeylerinde eliptik eğriler daha yüksek şifreleme hızına sahiptir. Güvenlik düzeyi arttıkça da eliptik eğri şifreleme performans farkı daha da belirginleşmektedir. Tabloda boş bırakılan alanlar, ilgili yöntemde eşdeğer güvenlik düzeyi için ölçüm yapılmadığını göstermektedir. SONUÇ Şifreleme işlemlerinde en çok kullanılan şifreleme algoritması RSA dır. Bu algoritma günümüzde 160 bit sayısal anahtar büyüklüleri ile gerçekleştirilmektedir. Ancak gelecek için daha hızlı ve daha çok işlem yapma yeteneğine sahip bilgisayarların ortaya çıkması bu anahtar büyüklüğünün yetersiz kalmasına sebep olacaktır. RSA algoritması ile Eliptik eğri algoritmasının karşılaştırılmasından da anlaşılacağı gibi, gelecekte kullanılması gereken 1024 bit uzunluğundaki RSA anahtarlarının yerine 160 bit uzunluğundaki eliptik eğri anahtarları aynı işlemleri daha kısa sürede gerçekleştirebildiği gibi daha düşük anahtar boyutu sağlamasından dolayı gerekli hafıza miktarını da azaltır. Bu da gösteriyor ki Eliptik Eğri algoritması gerek hız gerek anahtar uzunluğu gerekse süre gibi etkenlerden dolayı en çok kullanılması gereken algoritma olmalıdır. KAYNAKLAR Agrawal, M., Kayal, N., Saxena, N. 1997. Primes is in P,. Department of Computer Science & A.J. Menzes, Handbook of Applied Cryptogra. MIT Pres, 1997 Anonim. 1999. www.certicom.ca/online.html Anonoim. 2002. Engineering Indian Institute of Technology Kanpur, Kanpur-208016, INDIA, August 6 Highland, H.,J. 1997. Data Encryption: A Non- Mathematical Approach, Computers & Security, 16, 369-386. Kramer, P. 1999. Encryption and Decryption with RSA Algorithm, Mathematics and the Computer, V55.0102- Fall, November 8 Maurer, U., M. 1995. Fast Generation of Prime Numbers and Secure Public-Key Cryptographic Parameters, J. Cryptology, 8(3): 123-156. Menzes, A. 1993. Elliptic Curve Public Key Cryptosystems, Kluwer Academic Publishers, Montgomery, P.L.A. 1994. Survey of Modern Integer Factorization Algorithms, CWI Quarterly, Volume 7(4): 337-365. Mullins, J., Moore, S.K. 2002. Making Unbreakable Code, IEEE Spectrum, May: 40-45. Schneier, B. 1996. Applied Cryptography: Protocols,Algorithms and Source Code in C, Second Edition, Wiley&Sons, New York Stallings, W., 1998. Cryptography and Network Security: Principles and Practice, Second Edition, Prentice Hall, Upper Saddle River, New Jersey Sushkevich, A.K. 1978. Number Theory, Harkov, Ukraina