GÜVENİLİR, HATA DÜZELTMELİ VE DİJİTAL İMZALI PROTOKOL GELİŞTİRME

Benzer belgeler
Kredi Değeri(Nominal Değer): Senet üzerinde yazılı olan ve vade gününde ödenmesi gereken tutardır.

Makine Öğrenmesi 6. hafta

ĐDEAL BĐR DC/DC BUCK DÖNÜŞTÜRÜCÜNÜN GENELLEŞTĐRĐLMĐŞ DURUM UZAY ORTALAMA METODU ĐLE MODELLENMESĐ

HANNOVER YAKLAŞIMI İLE GEOMETRİK ANALİZ SÜRECİNE BİR KISA YOL ÖNERİSİ

PI Denetleyici İle Sıvı Seviye Kontrolünün Gerçek Zamanlı Olarak PLC İle Gerçeklenmesi

BÖLÜM 5 İKİ VEYA DAHA YÜKSEK BOYUTLU RASGELE DEĞİŞKENLER İki Boyutlu Rasgele Değişkenler

dir. Bir başka deyişle bir olayın olasılığı, uygun sonuçların sayısının örnek uzaydaki tüm sonuçların sayısına oranıdır.

YAPI MALZEMELERİNDE BUHAR DİFÜZYONU VE YOĞUŞMA

Deney No: 2. Sıvı Seviye Kontrol Deneyi. SAKARYA ÜNİVERSİTESİ Dijital Kontrol Laboratuvar Deney Föyü Deneyin Amacı

Sistemde kullanılan baralar, klasik anlamda üç ana grupta toplanabilir :

TRANSPORT PROBLEMLERİ İÇİN FARKLI BİR ATAMA YAKLAŞIMI. İstanbul Üniversitesi İşletme Fakültesi Sayısal Yöntemler Anabilim Dalı

TESADÜFİ DEĞİŞKENLERLE İLGİLİ BAZI YAKINSAKLIK ÇEŞİTLERİNİN KARŞILAŞTIRILMASI

GRİ SEVİYE RESİMLER ÜZERİNDE RASGELE LSB YÖNTEMİNİ VE SAYI TEORİSİNİ KULLANARAK BİLGİ GİZLEME VE STEGANALİZ

Makine Öğrenmesi Dersi Arasınavı Sorular aşağıda isimleriyle verilen veri kümeleri üzerinde çözülecektir.

* : Bu örnek, bu Yönetmelikten önceki uygulamada kullanılan Örnek 63'e karşılık gelmektedir.

Kaplama oranı KO= Ad / Ay.100

Sürekli Olasılık Dağılım (Birikimli- Kümülatif)Fonksiyonu. Yrd. Doç. Dr. Tijen ÖVER ÖZÇELİK

TEKNOLOJİK ARAŞTIRMALAR

PROJE SEÇİMİ VE KAYNAK PLANLAMASI İÇİN BİR ALGORİTMA AN ALGORITHM FOR PROJECT SELECTION AND RESOURCE PLANNING

SEZGİSEL ALGORİTMA KULLANILARAK RÜZGÂR ÇİFTLİKLERİNİN GÜÇ SİSTEMİNE ETKİSİNİN İNCELENMESİ

Yapı Teknolojileri Elektronik Dergisi Cilt: 5, No: 1, 2009 (1-24) Electronic Journal of ConstructionTechnologies Vol: 5, No: 1, 2009 (1-24)

30 %30iskonto oranı bulunur.

Türk Dilinin Biçimbilim Yapısından Yararlanarak Türkçe Metinlerin Farklı İmgelere Ayrılarak Kodlanması ve Sıkıştırılması

kadar ( i. kaynağın gölge fiyatı kadar) olmalıdır.

TRANSFORMATÖRLER BÖLÜM 7. Alıştırmalar. Transformatörler. Sınıf Çalışması

VEKTÖRLER VE VEKTÖREL IŞLEMLER

6. NORMAL ALT GRUPLAR

5.3. Tekne Yüzeylerinin Matematiksel Temsili

DENEY 4: SERİ VE PARALEL DEVRELER,VOLTAJ VE AKIM BÖLÜCÜ KURALLARI, KIRCHOFF KANUNLARI

( ) 3.1 Özet ve Motivasyon. v = G v v Operasyonel Amplifikatör (Op-Amp) Deneyin Amacı. deney 3

2. STEGANOGRAFİ 1. GİRİŞ

GRUPLARDA VE YARIGRUPLARDA ETKİNLİK(EFFICIENCY) The Efficiency Of Groups And Semigroups *

BÖLÜM I. Tam sayılarda Bölünebilme

PARÇALI DOĞRUSAL REGRESYON

YAYILI YÜK İLE YÜKLENMİŞ YAPI KİRİŞLERİNDE GÖÇME YÜKÜ HESABI. Perihan (Karakulak) EFE

Yard. Doç. Dr. Oben Dağ 1. İstanbul Arel Üniversitesi Özet. 1. Giriş. 2. Problemin Tanımı

Communication Theory

TRANSFORMATÖRLER. 4. a) Pri mer dev re ye uy gu la nan al ter na tif ge ri li min et kin de ğe ri; 1. İdeal transformatörler için,

MIKNATIS VE MANYETİK ALAN

Korelasyon ve Regresyon

Soğutucu Akışkan Karışımlarının Kullanıldığı Soğutma Sistemlerinin Termoekonomik Optimizasyonu

Genelleştirilmiş sınırlı kararlılık bölgesi ile PI ve PID denetleyici tasarımı

MIT Açık Ders Malzemeleri Bu materyallerden alıntı yapmak veya Kullanım Koşulları hakkında bilgi almak için

Bilgisayarla Görüye Giriş

ÇOKLU REGRESYON MODELİ, ANOVA TABLOSU, MATRİSLERLE REGRESYON ÇÖZÜMLEMESİ,REGRES-YON KATSAYILARININ YORUMU

RSA ŞİFRELEME ALGORİTMASI

bir yol oluşturmaktadır. Yine i 2 , de bir yol oluşturmaktadır. Şekil.DT.1. Temel terimlerin incelenmesi için örnek devre

Rüzgar Türbin Laboratuvarı: Daimi Mıknatıslı Senkron Generatörlü Rüzgar Türbini Modellenmesi ve Simülasyonu

T.c. MALİYE BAKANLIGI. KÜTAHYA VALİLİGİNE (Defterdarlık Personel Müdürlüğü)

ELM201 ELEKTRONİK-I DERSİ LABORATUAR FÖYÜ

TEKLİF MEKTUBU SAĞLIK BAKANLIĞI_. '.. m

AC SERVO MOTORLAR VE SÜRÜCÜ DEVRELERİ

11. SINIF KONU ANLATIMLI. 2. ÜNİTE: ELEKTRİK VE MANYETİZMA 1. Konu ELEKTRİKSEL KUVVET VE ELEKTRİK ALANI ETKİNLİK VE TEST ÇÖZÜMLERİ

JFM316 Elektrik Yöntemler ( Doğru Akım Özdirenç Yöntemi)

Sinüsoidal Gövde Açıklıklı Çelik Kirişlerin Optimum Boyutlandırılması

Rasgele Değişken Üretme Teknikleri

Küresel Aynalar. Test 1 in Çözümleri

T.C SELÇUK ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ KALMAN FİLTRELEME YÖNTEMİYLE DEFORMASYON ANALİZİ SERKAN DOĞANALP

TEST 1 ÇÖZÜMLER MIKNATISLAR VE MANYETİK ALAN

QKUIAN. SAĞLIK BAKANLIĞI_ KAMU HASTANELERİ KURUMU Trabzon Ili Kamu Hastaneleri Birliği Genel Sekreterliği Kanuni Eğitim ve Araştırma Hastanesi

Doğru Önermeler, Yanlış Önermeler 1 Ali Nesin

ÇARPANLARINA AYIRMA ALGOR TMALARI ÜZER NE

LAMBALAR BÖLÜM X 6. X MODEL SORU 1 DEK SORULARIN ÇÖZÜMLER. K anahtarı açık iken: Z ve T lambaları yanar. X ve Y lambaları = 2 dir.

Tanım 5.1.1: n ve d tamsayılar ve d 0 olsun. Eğer n=dq olacak şekilde bir q tamsayısı varsa d sayısı n sayısını böler denir. Burada q sayısına bölüm

Basel II Geçiş Süreci Sıkça Sorulan Sorular

Fumonic 3 radio net kablosuz duman dedektörü. Kiracılar ve mülk sahipleri için bilgi

Sıklık Tabloları ve Tek Değişkenli Grafikler

Öğretim planındaki AKTS TASARIM STÜDYOSU IV

Tork ve Denge. Test 1 in Çözümleri

YER ÖLÇÜLERİ. Yer ölçüleri, verilerin merkezini veya yığılma noktasını belirleyen istatistiklerdir.

OLİGOPOLLER VE OYUN KURAMI 2

Paralel Aktif Güç Filtresinin Denetimi İçin Farklı Referans İşaret Çıkarma Yöntemlerinin İncelenmesi

10. Sınıf. Soru Kitabı. Elektrik ve. Manyetizma. Ünite. 3. Konu. Manyetizma. Test Çözümleri

ARAŞTIRMA MAKALESİ/RESEARCH ARTICLE TEK ÇARPIMSAL SİNİR HÜCRELİ YAPAY SİNİR AĞI MODELİNİN EĞİTİMİ İÇİN ABC VE BP YÖNTEMLERİNİN KARŞILAŞTIRILMASI ÖZ

PRODUCTION PLANNING BASED ON GOAL PROGRAMMING FOR MASS CUSTOMIZATION IN A COMPANY

UYUM ĐYĐLĐĞĐ TESTĐ. 2 -n olup. nin dağılımı χ dir ve sd = (k-1-p) dir. Burada k = sınıf sayısı, p = tahmin edilen parametre sayısıdır.

a IIR süzgeç katsayıları ve N ( M) de = s 1 (3) 3. GÜRÜLTÜ GİDERİMİ UYGULAMASI

Asimetri ve Basıklık Ölçüleri Ortalamalara dayanan (Pearson) Kartillere dayanan (Bowley) Momentlere dayanan asimetri ve basıklık ölçüleri

Denklem Çözümünde Açık Yöntemler

Türkiye deki Binalara Yönelik Soğutma Yükü Hesabı için Web Tabanlı Yazılım Geliştirilmesi

KAOS TABANLI SAYISAL CSK VE DCSK MODÜLASYON TEKNĐKLERĐNĐN MATLAB/SĐMULĐNK ORTAMINDA GERÇEKLEŞTĐRĐLMESĐ

Doğrusal Korelasyon ve Regresyon

ENDÜSTRİYEL BİR ATIK SUYUN BİYOLOJİK ARITIMI VE ARITIM KİNETİĞİNİN İNCELENMESİ

YÖNETİM VE EKONOMİ Yıl:2006 Cilt:13 Sayı:1 Celal Bayar Üniversitesi İ.İ.B.F. MANİSA

X, R, p, np, c, u ve diğer kontrol diyagramları istatistiksel kalite kontrol diyagramlarının

ALTERNATİF AKIM DEVRE YÖNTEM VE TEOREMLER İLE ÇÖZÜMÜ

Şiddet-Süre-Frekans Bağıntısının Genetik Algoritma ile Belirlenmesi: GAP Örneği *

TRİGA MARK-II NÜKLEER ARAŞTIRMA REAKTÖRÜ SOĞUTMA SİSTEMİNİN ISIL MODELİNİN OLUŞTURULMASI

FABRİKA İSTANBUL AVRUPA YAKASI İST. LEVENT ADANA BURSA BODRUM

FLYBACK DÖNÜŞTÜRÜCÜ TASARIMI VE ANALİZİ

TRAFİK İŞARETLERİNİN HOUGH DÖNÜŞÜMÜ VE DVM KULLANILARAK SINIFLANDIRILMASI TRAFFIC SIGN CLASSIFICATION USING HOUGH TRANSFORM AND SVM

Dr. Fatih AY Tel: fatihay@fatihay.net

KARMAŞIK SAYILAR. Derse giriş için tıklayın...

HİPERSTATİK SİSTEMLER

11.Konu Tam sayılarda bölünebilme, modüler aritmetik, Diofant denklemler

ENERJİ. Isı Enerjisi. Genel Enerji Denklemi. Yrd. Doç. Dr. Atilla EVCİN Afyon Kocatepe Üniversitesi 2007

Deprem Tepkisinin Sayısal Metotlar ile Değerlendirilmesi (Newmark-Beta Metodu) Deprem Mühendisliğine Giriş Dersi Doç. Dr.

III.4. YÜKSEK MERTEBE TAYLOR METODLARI. ( t)

TÜRKİYE DEKİ 380 kv LUK 14 BARALI GÜÇ SİSTEMİNDE EKONOMİK YÜKLENME ANALİZİ

Transkript:

GÜVENİLİR, HATA DÜZELTMELİ VE DİJİTAL İMZALI PROTOKOL GELİŞTİRME A.Çağrı BÖLÜCEK 1 Nursel AKÇAM 2 2 Elektrk-Elektronk Mühenslğ Bölümü, Mühenslk-Mmarlık Fakültes, Gaz Ünverstes, 06570, Maltepe, Ankara 2 e-posta: ynursel@gaz.eu.tr ÖZET: Uzun yıllarır üzerne çalışılarak olgunlaştırılan ve brçok farklı yöntemn sunuluğu şfreleme algortmaları, gelştrlmes üşünülen ve özellkle, kontrol sstemlern heef alan uygulamalara, kullanılması tasarlanan, protokol çn temel teşkl etmekter. Bu bakıman, özellkle son yıllara bu alana hakmyet kurmuş açık anahtarlı şfreleme yöntemler ncelenmş ve en güvenlr yöntemleren olan RSA algortması protokole kullanılmaya uygun görülmüştür. Uygulama platformu olarak seçlen Mcrosoft Vsual C++ 6.0 le herhang br hazır kütüphane kullanmaksızın htyaç uyulacak tüm fonksyonlar yazılmıştır. ANAHTAR KELİMELER: Protokol, Şfreleme, Kmlk Doğrulama, Hata Tespt EVELOPING A SECURE, ERROR CORRECTIONAL AND DIGITALLY SIGNATURED PROTOCOL ABSTRACT: The cryptographc algorthms that have been evelopng for years s a basc for the protocol whch s especally planne for control base system targetng applcatons. For ths reason the asmetrc publc key cryptograpy algorthms whch are partcularly progresse last years have been nvastgate an one of the most relable publc key algorthm, RSA has been ece to use n the protocol. It has been ece to use Mcrosoft Vsual C++ 6.0 as a evelopment platform. All neee fuctons have been fully mplemente wthout usng any preefne class or lbrary. KEYWORDS: Protocol, Cryptograpy, Authentcaton, Error Detecton Grş Bu çalışma, teknolojk gelşmlern beraberne getrğ ver letşmne güvenlk sorunlarına getrlen güncel çözümler erleyerek br protokol altına toplamayı amaçlamaktaır. Protokolün yapı tbar le RF haberleşme ve kontrol sstemlerne kullanılmaya uygun olması üşünülmüştür. Böyle br protokolün gelştrlmesne en öneml kısmı şüphesz şfreleme algortmaları oluşturmaktaır. Şfreleme algortmaları eğerlenrlrken protokolün kontrol ntelğne uygunluğu gözetlerek gerçek zamanlı şlemler engellemeyecek erecee hızlı olmasına kkat elmştr. Şfrelemenn çarpıcı gelşmn 1976 yılına Dffe ve Hellman yayınlaıkları makale le yapmıştır. Bu makalee, şfreleme çn evrm ntelğne olan açık anahtarlamalı şfreleme tanıtılmış, keskl logartmk hesaplamaların zorluğuna ayanan anahtar eğşm metou sunulmuştur [1]. Sonrak çalışmalar açık anahtarlı şfreleme algortmalarını gelştrmştr. Benzer br protokol oluşturma çabası 2004 yılına Nguyen, H. Azz ve S.M. Ryan, tarafınan sunulmuştur. Azz ve Ryan araştırmalarına uzaktan kumana eleblen sstemler çn yen br protokol moeln önermşlerr. Çalışmalarına oaklanıkları nokta letşmn çoğunlukla komutlaran oluşması olayısı le mümkün oluğunca üşük bant genşlğne htyaç uyması. Bu bakıman güvenlk htyacına fazlaca önem verlmemş saece algortmanın gzl tutulması önerlmştr. Güvenlk çn harcanacak bant genşlğ ver kayıplarının azaltılması çn hata kontrolüne ayrılmıştır [2]. Güvenlk kaygısı gütmeyen çok aha genel br çalışma Wolsz, Scheferecker ve Walch tarafınan sunulmuştur. Bu araştırmaa letşm protokoller br 1

bütün olarak üşünülmüş, herhang br uygulamaya ahl eleblmeler çn htyaç uyulacak gereksnmler belrlenerek brtakım test yöntemler önerlmştr [3]. Açık Anahtarlı Şfreleme Açık anahtarlı şfrelemenn genel amaclarınan brs, gzl anahtarların ağıtımıır. Açık anahtarlı şfreleme/eşfreleme algortmaları, şfreleme çn br anahtara, eşfreleme çn se bu anahtarla lşks olan başka knc br anahtara htyaç uyarlar. Bu uruma güvenlk sağlamış olur. Saece krptografk algortma ve eşfreleme anahtarı verlmşken, br takım bast hesaplamalar le şfreleme anahtarını bulmak mümkün olmaz. Şekl 1, açık anahtarlı şfreleme yapısını göstermekter. Başlıca aımlar şunlarır: 1. Ağak her sstem, mesaj alınığına şfreleme ve eşfreleme çn kullanacak oluğu anahtar parçasını yaratır. 2. Her sstem, şfreleme anahtarını herkesçe erşleblecek br osya yaa yazmaç çersne kayeerek paylaştırır. Bu anahtarın, açık olan kısmıır (publc key). Özel anahtar saklı tutulur. 3. Eğer, A, B ye br mesaj yollamak sterse, mesajı B nn açık anahtarını kullanarak şfreler. 4. B, mesajı alığına, bu mesajı ken özel anahtarını kullanarak eşfre eer. Dğer hçbr alıcı mesajı eşfreleyemez, çünkü mesajı eşfre eecek olan özel anahtarı saece B blr. üzere, üz metn bloğu M ve şfrel metn bloğu C çn şu şekler: C = e M mo n (1) M = C mo n= ( M e) mon = M e mon (2) Hem göneren hem e alıcı n n eğern blmelr. Göneren e nn eğern blr, ve saece alıcı nn eğern blr. Böylece; KU = { e, n} br genel anahtar, ve KR = {, n} br özel anahtar olur ve bu br genel anahtarlı şfreleme algortmasıır. RSA yapının bleşenler sırasıyla şöyler : p,q; k asal sayı (gzl, seçlmş) n = pq; (genel, hesaplanmış) e; gc( Φ (, e) = 1; 1 < e < Φ( olacak şekle (genel, seçlmş) e 1 mo Φ( ; (gzl, hesaplanmış) (3) {,n} çft özel anahtarı, {e,n} çft se genel anahtarı oluşturur. Br B kullanıcısının, A kullanıcısına, A kullanıcısının genel anahtarını kullanarak br M mesajını gönermek steğn varsayalım. Bu uruma B, C = M e (mo formülü yarımı le C şfrel mesajını ele eecek ve bunu A ya gönerecektr. A kullanıcısı bu mesajı alığına, M = C (mo formülü le mesajı eşfre eecektr. Yukarıa belrtlğ gb, e ve (3) nolu enklğ sağlayacak şekle seçlmşt. Bunun sonucuna, e 1moΦ( (4) olur. Bu yüzen e, kφ( + 1`n br formuur. Şekl 1 Açık Anahtarlı şfreleme yapısı, Şekl.1 en anlaşılacağı üzere her katılımcı, ğerlernn açık anahtarlarına erşm hakkına sahptr ve katılımcılar özel anahtarlarlarını lokal olarak yaratırlar. Bu neenle, özel anahtarların paylaşılmasına gerek yoktur. RSA Algortması Rvest, Shamr, ve Aleman tarafınan ortaya konulan yapı [4]; üz metnn, blokların çne şfrelenmesn esas alır. Her blok, br n sayısınan aha az br kl eğere sahptr. Bloğun büyüklüğü, log ( e eşt veya onan aha küçük olmalıır; 2 pratkte, blok büyüklüğü 2 k bttr, n se 2 k < n 2 k + 1 aralığınaır. Şfreleme ve eşfreleme; e ve anahtarları oluştumak çn seçlen asal sayılar olmak kφ ( + 1 k( p 1)( q 1) + 1 M = M M (mo (5) Dolayısıyla, ; M e = mo( C = M e mo n (6) M = C mo( ( M oluğu görülür. e ) mo( M e mo( M(mo Şfreleme ve Deşfreleme; RSA`a hem şfreleme hem e eşfreleme, tamsayıların tamsayı kuvvetlern almayı ve mo alma şlemlern gerektrr. Genel olarak a m eğernn (a ve m brer poztf tam sayı) hesaplanmak stenğn varsayalım. Eğer m tamsayısı b gb klk ssteme fae k, bk 1,..., b0 elecek olursa: 2

m = 2 b 0 olur. Böylece, γ m b 0 (2 ) a = a = a b 0 m mo = (2 ) a n a mo n = b 0 (2 ) [ a mo n] b 0 (7) (8) eştlkler yazılablr. Bu sonuç sayesne, a b mon şlemn hesaplamak üzere aşağıak algortma gelştrleblr. c eğer aslına gerekl olmasa a son eğer üssün eğerne eşt olacağınan olayı açıklayıcı br ntelkter. c 0; 1 for k ownto 0 o c 2 x c ( x )mo n f b=1 then c c+1 ( x a)mo n return Anahtar Üretm;Açık anahtarlı şfreleme sstemnn uygulamasınan önce, her k katılımcı anahtar parçalarını üretmelr. Bu üretm şlem aşağıak vazfeler htva eer: * İk asal sayı hesaplanması, p ve q * e ya a nn seçlp eğernn hesaplanması. Öncelkle, p ve q nun seçm üşünülür çünkü, herhang br potansyel salırgan n=pq nun eğern blyor olacaktır, brtakım özel metolarla p ve q nun bulunmasını engellemek çn, p ve q sayıları yeternce büyük sayılar olmalıır. p ve q eğerlerne sahp olunmasınan sonra br e eğer seçlmes ve eğernn hesaplanması ya a alternatf olarak eğer seçlerek e eğernn hesaplanmasının arınan anahtar üretme şlem tamamlanmış olur. e sayısı seçlrken, bu sayının OBEB( Φ(,e) = 1 eştlğn sağlaması yan Φ( le aralarına asal olması gerektğ kkate alınmalıır. Daha sonra a, 1 = e mo Φ( eştlğ kullanılarak eğer ele elr. Programın Yapısı Güvenlrlğ, yaygın kullanımı ve esnek yapısı göz önüne alınığına RSA algortmasının gelştrlecek protokole kullanılması uygun görülmüştür. Br A kullanıcısı B kullanıcısına geleneksel şfreleme yöntem kullanarak br mesaj gönermek steğne, öncelkle her k kullanıcı a saece kenlernn sahp olacağı br anahtar üzerne mutabık kalmaları gerekr. Daha sonra A kullanıcısı bu anahtarı mesajı şfrelemek çn ve B kullanıcısı se aynı anahtar le mesajı eşfrelemek çn kullanır. Böyle br letşmn güvenl oluğunu söyleyeblmek çn letşm hattını nleyeblecek üçüncü br C kullanıcısının şfrelenmş mesajı ele geçreblmesne rağmen onu çözümlemesnn mümkün olmaması gerekr. Aşağıak şartları yerne getreblen br metoun güvenl oluğunan bahseleblr: 1. Anahtar oluşturma şlem makul sayılablecek erecee kolay olmalıır. 2. Anahtar yeternce uzun olmalı ve br üçüncü kşnn tahmnn önleyeblecek erecee rasgele seçlmelr. 3. Şfrelenmş mesaj, orjnal mesajın br parçası blnse ah çözülememelr. 4. Anahtar tamamıyla gzl tutulmalıır. Şfreleme yöntemne en öneml problem, letşme katılacak N kullanıcı üşünülüğüne her br mesaj aktarımı çn br anahtara htyaç uyulacağınan N(N-1) anahtarın üretlmes oluşturur. Kullanıcı sayısının artması anahtar üretme ve anahtar ağıtım şlemlern zorlaştırır. Açık anahtarlı şfreleme sstemnn temel olarak yukarıak özellkler barınırması gerekr. A kullanıcısının B kullanıcısına açık anahtarlı şfreleme yöntem le br mesaj gönermes aşağıak aımlar zlenlerek yapılmalıır: 1. A, geleneksel şfreleme metotları yarımı le rasgele br anahtar seçer. Bu anahtarı oturum anahtarı olarak kullanılır. 2. A, B nn açık anahtarını oturum anahtarını şfreleme çn kullanır. 3. A, şfrelenmş oturum anahtarını B ye gönerr. 4. A, oturum anahtarını kullanarak br mesajı şfreler ve B ye gönerr. 5. B özel anahtarını kullanarak A nın gönerğ şfrelenmş oturum anahtarını eşfreleyerek oturum anahtarını ele eer. 6. B şfrelenmş mesajı oturum anahtarını kullanarak eşfre eer. Bu algortma her ne kaar mesajın çerğnn br üçüncü kşen korunmasını sağlasa a mesajın beklenen kşen yan A kullanıcısınan gelp gelmeğn sorgulamamaktaır. Bu uruma göre br C kullanıcısının a A le aynı aımları zleyerek B le konuşması mümkünür. Bunu önlemek amacı le 2. ve 5. aımlar aşağıak gb mofye elmelr: 2. A oturum anahtarını önce ken özel anahtarını ve aha sonra B nn açık anahtarını kullanarak şfreler. 5. B önce ken özel anahtarını ve aha sonra A nın açık anahtarını kullanarak şfrelenmş oturum 3

anahtarı blgsn eşfre eerek oturum anahtarını ele eer. Bu aımlar takp elğne eğer A nın özel anahtarı ele geçrlmemşse B mesajın A an gelğne emn olacaktır. Bu noktaa A kullanıcısının nçn rek B nn açık anahtarını kullanarak mesajı şfrelemek yerne br oturum anahtarı kullanığı üşünüleblr. Bunun temel k neen varır: 1. Açık anahtarlı şfreleme sstem geleneksel yönteme nazaran aha yavaş kalmaktaır ve tüm mesajın açık anahtar kullanılarak şfrelenmes ve eşfrelenmes aha çok zaman alacaktır. 2. İletşm zleyen üçüncü br C kullanıcısı orjnal mesajın br kısmını blyor olablr ve aha önce herkese uyurulan açık anahtarın ve bu blgnn yarımı le orjnal mesajı ele etmes kolaylaşır. Tüm şfreleme algortmalarının br zaafı varır ve tab k önerlen bu metoun br stsna oluşturması beklenmemelr. Bu protokole gözleneblecek lk zayıf nokta oturuma başlarken A kullanıcısının ürettğ oturum anahtarının yeternce rasgele olmaması olablr. RSA Algortmasının Açıklanması; p ve q brbrnen farklı ve büyük k asal sayı olsun. Br tamsayının asal olup olmaığı Fermat teorem kullanılarak test eleblr. Bu teorem, her poztf a tamsayısı le asallığı sorgulanan sayı arasına aşağıak lşknn olması gerekllğn arar: a p-1 1 (mo p) (9) p tamsayısı bu enklk testnen yeterl mktara farklı a eğer çn geçerse asal olma olasılığı yüksektr enr. p ve q asal sayılarının bu şekle oluşturulmalarının arınan k büyük ve e tamsayıları bulunur. Her ksnn e (p-1)(q-1) çarpımınan küçük olması ve aşağıak eştlğe uygun olması gerekr. e 1 (mo (p-1)(q-1)) (10) Bunu gerçekleştrmenn en kolay yolu e y rasgele seçerek OBEB(e, (p-1)(q-1)), ve s eğerlern Eucl algortması kullanarak hesaplamaktır. Böylece aşağıak eştlk oluşturulablecektr. e - s(p-1)(q-1) = gc(e, (p-1)(q-1)) (11) Bu eğerler yarımıyla açık anahtar; (e,pq) ve özel anahtar; (,pq) oluşturulur. e ve üs olarak, pq çarpımı se moül olarak kullanılır. pq çarpımı yan moül açık anahtar le brlkte uyurulur fakat p ve q eğerler gzl tutulur. Aslına p ve q eğerler şfreleme veya eşfreleme şlemlerne rek olarak kullanılmamaktaır fakat bu sayıların ele elmes le e ve eğerlernn bulunması çok kolayır. m eğer [0,pq) aralığınak şfrelenmek stenen mesajı smgelesn. RSA algortması kullanılarak bu eğer [0,pq) aralığınak şfrelenmş c eğern aşağıak gb oluşturur. c m e (mo pq) (12) Deşfreleme şlem se benzer şekle sayısı kullanılarak yapılır. m c (mo pq) (13) Şfreleme ve eşfreleme şlemnn matematksel anlama a brbrnn ters oluğu görülmekter ve aşağıak gb spatlanablr. (m e ) (m ) e m e m (mo pq) (14) ve e eğerler aşağıak gb oluşturulur. e = 1 + s(p-1)(q-1) (15) Eğer p sayısı m sayısını bölemyorsa Fermat teoremne göre: m p-1 1 (mo p) (16) her k tarafa s(q-1) le üs alma ve m le çarpma şlemler uygulanığına; m e = m 1 + s(p-1)(q-1) m (mo p) (17) ele elr. Bu eştlk aynı zamana m nn p sayısına bölüneblğ urumlara a geçerlr. Benzer şekle: m e m (mo q) (18) Dolayısı le hem p nn hem e q nun (m e m) bölüğü anlaşılır. p ve q nun aralarına asal oluğu blnğnen aşağıak eştlk yazılablr. m e m (mo pq) (19) RSA Algortmasının C++ le Uygulaması Bu bölüme, RSA algortmasının; Mcrosoft Vsual C++ 6.0 yarımı le Wnows şletm sstem altına herhang br hazır şfreleme kütüphanes kullanmaksızın uygulaması anlatılacaktır. Daha öncee açıklanığı gb RSA açık anahtarlı şfreleme algortması etksn kullanığı anahtarların uzunluğunan almaktaır. Bu bakıman RSA çn en temel htyacın büyük tamsayılarla moüler artmetk şlemler yapablmek oluğu söyleneblr. Fakat günümüze blgsayar sstemlerne kullanılan şlemclern regster lerı ah algortmayı karşılayacak uzunlukta tamsayıları onanımsal anlama estekleyemezler. Kullanılan erleycnn ve çalışılan 4

şlemcnn 32 btlk şlemler çn tasarlanığı üşünülürse, aha büyük tamsayılar oluşturmak ve bu tamsayılarla moüler şlemler gerçekleştrmek çn yazılımsal esteğe htyaç olacaktır. Bu htyacı karşılamak amacıyla büyük sayıları oluşturmayı ve şlem yapablmey sağlayacak br C++ sınıfı yazılmıştır. Öncelkle large_nt sm verlen bu sınıfın ayrıntılarıyla anlatımı sunulacaktır. Büyük sayı sınıfının açıklanması; Bu sınıf, yapı tbaryle şaretsz 16 btlk tamsayılaran oluşturuğu kümenn tekbr tamsayıymış gb şlemlere grmesn sağlayarak bu sayee lüzumlu algortmaların şlenmesne olanak verecek şekle yazılmıştır. Dolayısı le sınıfın temel brm unsgne short *value; şeklne tanımlanan value göstercsr. İhtyaç uyulan büyüklükte br sayı oluşturablmek çn 16 bt cnsnen uzunluğunun tutulacağı unsgne nt uzunluk; sınıfın knc öneml eğşkenr eneblr. Bu sınıfa at br nesne oluşturulurken kullanılacak k farklı kurucu fonksyonan lk oluşturulacak sayının uzunluğunu, 16 btlk br tamsayının katı olarak beklerken ğer se yne bu sınıftan br tam katı olarak verlmesn bekler. large_nt::large_nt(unsgne le{ uzunluk = len; value = new unsgne short[len]; } large_nt::large_nt(const large_nt & { uzunluk = n.uzunluk; value = new unsgne short[uzunluk]; unsgne ; for ( = 0; < uzunluk; ++) value[] = n.value[]; } verlen uzunluk eğer lnkler, tarafınan uygun kurucu fonksyona gönerlerek gerekl hafıza alanının ayrılmasına kullanılır. Ayrıca, büyük sayılara özellkle çarpma şlemlerne kullanılmak üzere sayıyı verlen bt uzunluğuna sola kayırmaya yarayan shft fonksyonu tanımlanmıştır. Sınıfta, büyük sayıların brbrleryle şlemlern sağlayacak hemen hemen tüm matematksel operatörlern aşırı yüklemeler e tanımlanmıştır. Bu sayee programın anlaşılablrlğ arttırılmıştır. Programa özellkle mo alma şlemlerne çokça kullanılan % operatörünün e ğer aşırı yüklenmş operatörler gb hem 16 btlk eğerler hem e büyük sayı cnsnen nesneler çn şlem yapablecek k farklı aşırı yüklenmş fonksyonu varır. RSA algortması çn en çok kullanılması gereken şlemleren bre üs alma şlem olacağınan sınıfa, büyük sayılar çn üs alma şlemn gerçekleştrecek power fonksyonu a eklenmştr. Bu fonksyonun tüm parametreler büyük sayı cnsnen verlğnen yapılacak üs alma şlemnn uzunluk sınırlaması bulunmamaktaır. vo large_nt::power(const large_nt &base, const large_nt &exponent, const large_nt &moulus, large_nt &result){ large_nt r(2*base.uzunluk+1); r = 1; bool one = true; unsgne = exponent.uzunluk; whle (--!= 0) { unsgne bt = 1 << 15; o { f (!one) { large_nt n(r); r *= n; r %= moulus; } f (exponent.value[] & bt) { r *= base; r %= moulus; one = false; } bt >>= 1; } whle (bt!= 0); } result = r;} Yukarıa gösterlğ gb bu fonksyon tamamen RSA çn özelleştrlerek verlen taban, üs ve moül eğerlerne göre yaptığı hesaplamaları, sonuç büyük sayı eğşkenne atamaktaır. Yapılacak şlemler çn uzunluğu taban uzunluğunun k katınan br fazla olan r büyük sayı eğşken oluşturulmuştur. İşlemn kabarıklığının önlenmes amacıyla moüler artmetğn ağılma özellğnen yararlanılmış ve bu sayee tüm üs alma şlemn yaptıktan sonra moül alma şlem yapmak yerne her br üs alma şlemnen sonra moül alma şlem yapılarak sayının çok fazla büyümes önlenmştr. İknc öneml nokta, üs alma şlemnn tekrarlı kare alma yöntem le bastleştrlmesr. Bunu yapablmek çn üssün btler en eğerl btten başlamak üzere test elr. Her br 2 nn tam üssü çn tabanın kares alınırken sonuçta artan eğerler kaar taban eğernn sonuçla çarpımı yapılır. Böylelkle saece artan eğerler çn normal üs alma şlem yapılmış olur. RSA fonksyonlarının açıklanması; Öncelkle şfreleme çn gerekl anahtarların üretlmes aha sonra bu anahtarlar kullanılarak br mesajın şfreleneblmes çn kullanılan fonksyonlar anlatılacaktır. Anahtar üretm çn htyaç uyulacak lk şey asal sayıların üretm olacaktır. Bunun çn öncelkle rasgele br sayı seçlmekte aha sonra bu sayının komşuluklarına asal br sayı aranmaktaır. 5

Bulunan sayıların asal olup olmaığının test eleblmes çn kullanılan AsalTest() fonksyonu: statc bool AsalTest(const large_nt &p){ large_nt pmnus1(p); pmnus1 -= 1; unsgne count = 101; whle (--count!= 0) { large_nt r(p.uzunluk); large_nt x(p.uzunluk); { for (unsgne = 0; < x.uzunluk; ++) x.value[] = ran() << 8 ran(); } x %= p; f (x!= 0) { large_nt::power(x, pmnus1, p, r); f (r!= 1) return false; } } return true;} gb açıklanablr. Fonksyona Fermat teorem uygulanmaktaır. Bu fonksyona br sayının asal sayılablmes çn asallık testne 100 kez grmes gerekmekter. AsalTest fonksyonu anahtarların üretmler sırasına AsalUret ve AsalUret fonksyonunu kullanan AnahtarUret fonksyonları tarafınan çağırılmaktaır. AsalUret fonksyonu parametre olarak alığı büyük sayı türünen eğşkene önce rasgele br eğer atar. Daha sonra AsalTest fonksyonunu çağırarak bu rasgele sayının asallığını test eer. Çft sayıların asal olması mümkün olmayacağınan saece tek sayılar çn eneme yapılır. Bu bakıman asallığı AsalTest fonksyonu tarafınan onaylanmayan sayılar k arttırılarak tekrar teste tab tutulur. Bu şekle asal br sayı bulununcaya kaar öngüye evam elr. Anahtar üretm sırasına karşılaşılan çok öneml br başka husus aralarına asal sayıların bulunmasıır. Hatırlanacağı gb ve e sabtlernn Φ le aralarına asal olacak şekle seçlmeler gerekyoru. Bu urumun kontrolü se Eucl algortmasıyla sağlanır. Bu enetleme, programa EucleanAlgorthm fonksyonu tarafınan yapılmakta [5] ve anahtar üretm sırasına AnahtarUret fonksyonu tarafınan çağırılarak kullanılmaktaır. Böylece gr olarak alığı k büyük sayının Ortak Bölenlernn en Büyüğü nü bularak br ğer büyük sayı olan g ye atamaktaır. Programın Çalışması Tasarlanan protokolün Vsual Stuo.NET C++ 7.0 le yazılan uygulaması, ser port üzernen yarattığı letşm kanalı, smülasyon yapmak çn kullanılmaktaır. Programın tam anlamı le çalışablmes çn Wnows 9x,Me,XP veya 2000 tabanlı k aet ser (COMM) kanala sahp br blgsayar kullanılmalıır. 1 numaralı ser letşm kanalı protokole uygun olarak hazırlanan very gönermek çn kullanılırken, 2 numaralı ser letşm kanalı bu very almak çn kullanılır. Anlaşılacağı üzere program, aslına br host ve br çok slave chazan oluşablecek protokolun smulasyonunu tek br blgsayar üzerne yapablmesne mkan sağlayacak şekle üşünülmüştür. Smlasyon şlemnn oğru br şekle yapılablmes çn yazılımla yapılacak ayarların yanına, onanımsal bağlantı çn 1 ve 2 numaralı COMM portların TXverc kanalının RX-alıcı kanalı le bağlantısının yapılması gerekr. Programın br kanalan gönerğ şfrel mesajı ğer kanalan tekrar alarak eşfrelemes tamamen smlasyon amaçlı olmasınan olayı: 1 numaralı letşm kanalı programın yüklenmesyle brlkte hazır hale getrlrken, 2 numaralı letşm kanalının açılması kullanıcı tarafınan yapılacak şekle tasarlanmıştır. Şfreleme ve eşfreleme şlemlernn gerçekleştrleblmes çn öncelkle genel ve özel anahtarların üretlmes gerekr. Sonra stenen mesaj veya komut programa grlr. Grlen mesaj, program tarafınan kaynak mesaj olarak eğerlenrlr. 2 numaralı letşm kanalının nlemeye açılması le alınan vernn eşfrelenmes gerçekleşr. Sonuç Bu çalışmaa, ver letşmne güvenlk, letşme gren tarafların kmlklernn oğruluğu ve letşm hattına kasıtlı olarak oluşturulablecek veya gürültüen kaynaklanablecek bozulmalar le belrtleblecek söz konusu hata ve eksklern gerlğ br protokol moel sunulmaya çalışılmıştır. Sunulan bu protokolün güvenlk, kmlk oğrulama htyaçları çn, açık anahtarlı şfreleme algortmalarının en blnenlernen olan RSA algortması le çözülmes öngörülmüştür. Kaynaklar [1] Dffe, W. An Hellman, M.E., New Drectons n Cryptography, IEEE Trans. Inform. Theory, 22(6) 644-654, 1976. [2] Nguyen, H., Azz, S.M., Ryan, T., A Low Banwth Communcaton Protocol for Remote Control Applcatons, IEEE Regon 10 Conferernce, C: 37-40, 2004. [3] Wolsz, A., Scheferecker, I., Walch, M., An Integrate Approach to the Desgn of Communcaton Protocols, Dstrbute Computng Systems, 19: 411-418, 1993. [4] Rvest, R. L., Shamr, A., Aleman, L.A., A metho for Obtanng Dgtal Sgnatures an Publc- Key Cryptosystem, Communcatons of the ACM, 21 (2): 120-126, 1978. [5] Bölücek, A.Ç., Güvenlr, Hata Düzeltmel ve Djtal İmzalı Protokol Gelştrme, Gaz Ün. Fen Bl. Enst. Y.Lsans Tez, 2005. 6