Internet Üzerinde Güvenli İletişim

496616 Birol Çavuş

Ağustos 2001

 

 

Yönetici : Yrd. Doç. Dr. Feza Buzluca

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÖNSÖZ

 

Bütün alışkanlıklarımızın hızlı bir değişimden geçtiği bir çağda yaşamaktayız. Bu değişimin sebebi olan bilgisayarlar her geçen gün biraz daha günlük yaşantımıza girmekte, her geçen gün bilgisayar yeni bir alanda daha karşımıza çıkmaktadır.

 

Bu hızlı değişimde, Internet en büyük role sahiptir. Artık alışveriş, bankacılık işlemleri, mesajlaşma gibi birçok şeyi Internet ortamında yapmaktayız. Internet’in bu kadar yoğun kullanılması, beraberinde güvenlik sorununu da getirmektedir. Çünkü Internet gibi bir ortamda çok özel veya gizli olan bilgilerimizin başkaları tarafından ele geçirilmesi, değiştirilmesi mümkündür. Bilginin taşındığı iletim ortamlarının özelliğinden kaynaklanan bu sorun, ‘kriptoloji’ biliminin geliştirdiği teknikler sayesinde ortadan kaldırılabilmektedir.

 

Hazırlanan bu bitirme ödevi kriptoloji konusunu incelemektedir.

 

Bu çalışmada  kriptoloji ve verinin tutarlılığı konusunda oldukça yaygın olarak kullanılan iki algoritma üzerinde yoğunlaşılmıştır. Bu algoritmaların uygulaması olması amacı ile Internet ortamında çalışan iki program, istemci ve sunucu, hazırlanmıştır. Kullanılan programlama teknikleri bitirme ödevi içinde tanıtılmıştır.

 

Bu çalışmasının ortaya çıkmasında, gösterdiği yardım ve verdiği tavsiyelerle katkısı olan danışman hocam  Sn. Yrd. Doç. Dr. Feza Buzluca’ya teşekkürlerimi sunarım.

 

Çalışmalarım sırasında, yardım ve anlayışlarıyla büyük destek sağlayan Gökhan Arıkan ve Orçun Yalçın’a teşekkür ederim.

 

İstanbul, 2001                                                                            Birol ÇAVUŞ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÖZET

 

1977 yılında standart kriptoloji algoritması olarak kabul edilen DES halen en yaygın olarak kullanılan algoritmadır ve halen zayıf bir yönü ortaya çıkarılamamıştır. Hazırlanan çalışmada şifreleme algoritması olarak seçilmiştir.

 

Mesajların özetlerini oluşturmak amacıyla da birçok algoritma geliştirilmiştir. Bu algortimalar arasında en yaygın olarak kullanılanı Rivest tarafından geliştirilen MD5’tir. Çalışmada mesajların özetini çıkarmak için seçilen algoritmadır.

 

Çalışmanın uygulaması olması amacıyla, istemci ve sunucu olmak üzere iki program geliştirilmiştir. Uygulamaları geliştirmek amacıyla seçilen programlama aracı Borland C++ Builder 5.0’dır.

 

Programlar nesneye dayalı programlama teknikleri kullanılarak geliştirilmiştir.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

İçİndekİler

 

ÖNSÖZ. 2

ÖZET. 3

İÇİNDEKİLER.. 4

1. KRİPTOLOJİ 6

1.1 Kriptolojiye Giriş. 6

1.2 Kriptolojinin Gelişimi 6

1.3 Kullanılan Yöntemler 7

2. DES ( DATA ENCRYPTION STANDARD) 9

2.1 Standart Bir Algoritma İhtiyacı 10

2.2 Algoritma. 10

2.3 Algoritmanın Uygulanması 13

2.3.1 Anahtarların Oluşturulması 13

2.3.2 Veri Bloğunun İşlenmesi 16

2.3.3 f Fonksiyonu. 17

2.4 DES İçin Yapılan Eleştiriler 21

3. MD5. 21

3.1 MD5’in Gelişimi 21

3.2 MD5 Algoritması 22

3.3 Algoritmanın Uygulaması 23

4. PROGRAM... 24

4.1 Sınıf Tanımları 24

4.1.1 DES Sınıfı 25

4.1.2 MD5 Sınıfı: 26

4.2 Programlar 28

4.2.1 İstemci 28

4.2.1.1 Anahtarın Belirlenmesi 28

4.2.1.2 Anahtarın Değiştirilmesi 29

4.2.1.3 Ana Ekran. 29

4.2.1.4 Bağlantı Yapılması 30

4.2.1.5 Bağlantı Durumu. 31

4.2.1.6 Sunucu Makinada Gezinti 32

4.2.1.7 Güvenlik Ayarları 32

4.2.1.8 Algoritmaların Denenmesi 32

4.2.1.9 Dosya Aktarımı 33

4.2.1.10 Dosya Alma. 33

4.2.2 Sunucu: 34

4.2.2.1 Anahtarın Belirlenmesi 34

4.2.2.2 Beklemeye Geçilmesi 34

4.2.2.3 Bağlantı Yapılması 34

4.2.2.4 Kullanıcı Bilgileri 35

4.2.2.5 Kullanıcı Detayı 36

4.2.2.6 Yeni Kullanıcı Tanımlanması 36

4.3 Kaynak Kodlar 37

4.3.1 MD5 Sınıfının Kaynak Kodu. 37

4.3.2 DES Sınıfının Kaynak Kodu. 41

4.3.3 USER Sınıfının Kaynak Kodu. 49

4.3.4 İstemci Progamının Kaynak Kodu. 52

4.3.4.1 Özellikler Modülünün Kaynak Kodu. 65

4.3.4.2 İşlemler Modülünün Kaynak Kodu. 66

4.3.5 Sunucu Programının Kaynak Kodu. 67

KAYNAKLAR.. 811