9 Ekim 2007 Salı

KRİPTOGRAFİ ŞİFRE YAZIMI NEDİR?

AMAÇ

Şifreleme yöntemleri insanlığın önemli ihtiyaçlarından biridir çünkü gizlilik bazen her şey olabilir. Bir insanın hayatı, bir milletin varlığı, vb… benim de bu konuyu araştırmamın sebebi şifreleme işlemlerinin mantığını anlamak günümüzde bankaların kullandıkları 128 bitlik güvenlik sistemlerinin ne kadar güvenli olabilecekleri hakkında bilgi sahibi olmak.

ÖNSÖZ

Kriptografi eski yunan döneminden beri kullanılan ve günümüze kadar gelişerek gelmiş bir şifreleme sistemidir. Bu yazıda şifreleme yöntemlerinin nasıl yapıldığı hakkında temek bilgileri öğrenebileceksiniz. Günümüze kadar hangi şifreleme sistemlerinin kullanıldığı ve bu sistemlerin ne gibi açıklarının olduğu ne kadar güvenli oldukları konusunda bilgi sahibi olacaksınız. Bu konu detayına inildiğinde sayıların veya rakamların şifrelenmesinden ziyade elektrik elektronik müh. Bölümü öğrencileri için sinyallerin şifrelenmesi olarak geliştirilebilecek yapının temellerini bu yazı sayesinde atmış olacaksınız.

KRİPTOFRAFİ ŞİFRE YAZIMI NEDİR KULLANIM ALANLARI NERELERDİR?

Kriptografinin Türkçe adı şifre yazımıdır. Kriptografi yunanca gizli anlamına gelem "kript" ve yazı anlamına gelen "graf"'dan türetilmiştir. Kriptoloji ise şifre bilimdir. Şifre kelimesi ise Fransızcadaki "chiffre" yani sayı kelimesinden gelmektedir.
İki insan düşünün ve bu kişiler birbirleri ile haberleşecek olsunlar. Bu iki insanın birbirlerine özel ve başka hiç kimsenin görmesini istemedikleri mesajlar yollamak isterlerse şifre yazımı kullanmadıkları sürece mümkün olmayacaktır. Çünkü taraflardan birin göndereceği mail ilk önce sunucuların eline geçecektir. Burada aracı kişilerin veya hackerlerin insaniyetine kalacaktır. En kötüsü bir mektup yazıyorsunuz ve mektubu postaneye bırakıyorsunuz burada postaneye ve çalışanlarına güvenmek zorundasınız. Bu gibi durumlarda kalmamak için kullanabileceğimiz yöntemlerden bahsedecek olursak.

GİZLİ YÖNTEM ANLAŞMASI

A ve B mektuplarını diğerleri için anlaşılmaz kılacak bir yöntem üzerine gizlice anlaşırlar. Örneğin, bütün kelimelerin tersten yazılacağına (AHMET yerine TEMHA), veya her harften sonra rasgele bir harf konulacağı kararlaştırılabilir (AHMET yerine AZHIMPENTC). Yöntemin bulunması durumunda bütün iletişimler çözülecektir. Farklı kişilerle iletişim kurmak istenirse, her kişi ile farklı yöntemler üzerinde anlaşılması gerekir. Birçok kişinin şifreyi bilmesi gerekiyorsa, güvenlik için sık sık yöntemin değiştirilmesi gerekebilir. Yeni yöntemler bulmak ise sanıldığından daha zordur.[1] bu sistemi kırmakta kolay olacaktır çünkü yapısı itibariyle fazla olasılığa açık gözükmemekte ve günümüz bilgisayarları ile kolayca kırılabilecektir buda güvenliği tehlikeye atacaktır.

SEZAR YÖNTEMİ

Bu yöntemde eski yunan döneminde Sezar’ın mektuplarının gizliliğini sağlamak amacıyla bulunmuştur. Yöntem harflerin ötelenmesinden başka bir şey değildir. Yani öteleme sayınız 13 ise a yerine a dan 13 sonra gelecek harfi yazacaksınız f yerinede f den 13 harf sonra gelen harfi yazacaksınız. Bir örnekle açıklayacak olursak; aşağıda n=13 girilmiş bir Sezar şifresi tablo 1 de gösterilmiştir. [4]
01234567890123456789012345
ABCDEFGHIJKLMNOPQRSTUVWXYZ ^ çözme yönü
şifreleme yönü v NOPQRSTUVWXYZABCDEFGHIJKLM
n=13
Açık Metin: "SEZAR MEZAR TURK POLISI YAKALAR"
Şifrelenmiş Metin: "FRMNE ZRMNE GHEX CBYVFV LNXNYNE"

Tablo:1 Örnek Sezar şifresi uygulaması

Sezar şifresini kırmak sadece n sayısını bulmak olsa işimiz yine belki zor olurdu fakat Sezar şifresinde bir harf karşılığı olarak hep aynı bir harf denk geldiği için bir alfabedeki çok kullanılan harflerin olasılığından yola çıkarak da yazıyı kırabiliriz. Çünkü her alfabede harflerin kullanım sıklıkları genel olarak bilinmekte veya bulunabilmektedir.
DENEME YANILMA YÖNTEMİ
Simetrik Şifreleri değerlendirirken en önemli değişkenlerden biri anahtar uzunluğu veya anahtarın alabileceği farklı değerlerin sayısı. Anahtarımız n farklı değer alabiliyorsa, 0 ile n-1 arasında bir sayıyla eşdeş olduğunu düşünmek işimizi kolaylaştıracaktır. Sezar Şifresini için (Türk alfabesini kullanırsak) n=28 olacaktır. Anahtar uzunluğu ifade edilirken n sayısı doğrudan kullanılmaz, onun yerine o tamsayıyı bilgisayar belleğinde saklayabilmek için gerekli olan bit sayısı kullanılır. Bu o sayının 2 tabanındaki logaritmasına eşittir. Eklenen her bit, n sayısını iki ile çarpar. Örneğin, 16 bitlik bir anahtar, 216=65536 değer alabilir.
ABD, anahtar uzunluğu 40 bit'i geçen şifreleme algoritmaları içeren yazılımların ihracını yasaklamıştır. 40 bitlik bir anahtar için n=240 veya n=1 099 511 627 776 (bir trilyon doksan dokuz milyar beş yüz on bir milyon altı yüz yirmi yedi bin yedi yüz yetmiş altı). Bu sayı size çok gelebilir ama 1995'de yapılan bir yarışmada RC4 algoritması ile 40 bitlik bir anahtarla şifrelenmiş internet üzerinden yapılan bir (boş) kredi kartı işlemi elinde sadece mütevazı bir bilgisayar laboratuarı olan bir öğrenci tarafından 3 buçuk saatte bulundu [2].
Buda akıllara kaç bitlik şifreleme sisteminin güvenli olabileceğini getirmektedir. Bunu çözümü için bugünkü bilgisayarların bile kısa sürelerde bulamayacağı yani aşırı yoğun bir olasılığa sahip şifreleme yöntemlerinin kullanılması gerekmektedir. Anahtarın deneme yanılma yöntemi ile çok zor bulunabileceği zannedilen 100 bit olarak düşünülmektedir. 100 bitle oluşturulmuş bir şifrenin bugünkü bilgisayarlardan milyonlarca kat daha hızlı bir bilgisayar ile milyarlarca yıl süreceği tahmin edilmektedir.
Aşağıdaki tablo 2 de farklı anahtar boyları için, saniyede bir milyon, bir milyar ve bir trilyon şifre deneyebilen bilgisayarlar için kırma zamanları verilmiştir.[5]

Anahtar Uzunluğu n 2n 106 şifre/s hızında
ortalama çözme süresi 109 şifre/s hızında 1012 şifre/s hızında
32 bit ~4x109 36 dak 2.16 s 2.16 ms
40 bit ~1012 6 gün 9 dak 1 s
56 bit ~7.2x1016 1142 yıl 1 yıl 2 ay 10 saat
64 bit 1.8x1019 292 000 yıl 292 yıl 3.5 ay
128 bit 1.7x1038 5.4x1024 yıl 5.4x1021 yıl 5.4x1018 yıl
Tablo:2 farklı hızdaki şifre kırıcı bilgisayarlar için farklı uzunluktaki şifrelerin kırılma süreleri.

Sezar şifresinin nasıl çözüleceğine gelirsek Sezar şifresi basit bir alfabe değiştirme şifresidir. Alfabedeki harflerin yerlerini rasgele değiştirerek daha güçlü bir şifre yapılabilir. Bu durumda n alfabedeki harf sayısı ise, n! yani 28! ~= 3x1029 değişik şifre alfabesi olur. Bu alfabelerden bir tanesini seçecek bir anahtarın uzunluğu ise log2 28! ~= 98 bit olması gerekir. Yani deneme-yanılma yöntemiyle hangi alfabenin kullanıldığını bulmak hemen hemen olanaksızdır. Buna rağmen, "alfabe değiştirme şifresinin şifre çözümü, özellikle harf sayısı görece az olan Latin alfabelerinde çok basittir. Herhangi bir Türkçe, Fransızca veya İngilizce (veya almanca veya İtalyanca) metin alıp hangi harfin ne kadar kullanıldığına bakarsak, harf kullanım dağılımının çok olduğunu görürüz.
Latin alfabesine çevrilmiş bir Türkçe metin'den çıkartılan istatistikler aşağıda tablo 3 de gösterildiğine göre:[6]
Harf Adet Sıklık (%)
Boşluk 5373 16.88
i (ı, î) 4024 12.64
e (ê) 3201 10.06
a (â) 2805 8.81
L 2258 7.09
N 2112 6.63
R 2023 6.35
M 1298 4.08
s (ş) 1237 3.88
u (ü) 1217 3.82
T 1216 3.82
K 1140 3.58
o (ö) 899 2.82
D 881 2.77
g (ğ) 802 2.52
Y 680 2.14
Diğer 666 2.09
Toplam 31382 100.00

Tablo:3 Türkçe harflerin kullanım frekansları



Elimize alfabe değiştirme yöntemiyle şifrelenmiş bir metin gelirse, yapacağımız ilk iş metnin içerdiği bütün harflerin (veya şekillerin) kullanım istatistiğini hesaplamak olmalı. Ondan sonra, metnin hangi dilde yazıldığına dair tahminler yürütüp, o dilin harf kullanım sıklıklarını hesaplayıp, ikisini karşılaştırarak ve biraz tahmin yürüterek kolayca şifreyi çözebiliriz.
TEK KULLANIMLIK ŞERİT YÖNTEMİ
Güvenilirliğinin kanıtı çok basit olan bir şifreleme yöntemidir. Bu şifreleme yönteminin kullanımını epey zorlaştıran şey aynı zamanda onun güvenliğinin de teminatıdır. İngilizcesi "One-Time Pad" olan tek kullanımlık şerit, yollanacak mesaj kadar uzun olan bir anahtardır. Bu şeritteki harflerin rasgele seçilmiş olması gerekmektedir. Şifreleme işleminde, mesajdaki her harf ve o harfin şeritteki karşı gelen harfi sayıya çevrilip toplanılır. Harfler sayıya çevrilirken alfabedeki sıra numaraları kullanılabilir. Toplam alfabedeki harf sayısını aşarsa alfabedeki harf sayısı toplamdan çıkartılır. Elde edilen sayı ya doğrudan yazılır veya bir harfe çevrilir. Şifreyi çözmek için, aynı anahtar şerit ile işlem tersinden yapılır; bu sefer şeritteki harfler şifreli mesajdaki harflerden çıkartılır, toplam sıfırın altına düşerse alfabedeki harf sayısı eklenir. Yani matematiksel olarak n alfabedeki harf sayısı ise modulo n çıkarma ve toplama işlemleri gerçekleştirilir. Alttaki tablo 4 de bu örnek gösterilmiştir.[7]

Şifresiz Metin: BUMESAJTEKKULLANIMLIKSERITILESIFRELENMISTIR
Şerit: DOKPEZRHOCVSVMLNDTKBJTSDSULEPLSSZCHEBZMQCHJ + (mod 26)
Şifreli Metin: EIWTWZAASMFMGXLALFVJTLWUANTPTDAXQGSIOLUIVPA
Tablo:4 tek kullanımlık şerit yöntemi ile şifrelenmiş yazı örneği
Şeritteki harflerin rasgele seçilmiş olması çok önemlidir. Harfleri rasgele seçilmiş bir şeride, harfleri düzenli olan bir mesaj eklersek, elde edeceğimiz harfler gene rasgele olacaktır. Dolayısıyla bu şifreli mesajı çözmek için hangi şeridin kullanıldığını tahmin etmekten başka çaremiz yoktur. Şerit ile mesaj aynı uzunlukta olduğuna göre (bu da bir şeridin sadece bir kere kullanılmasını gerektirir) bütün şeritleri denersek, o uzunluktaki bütün mesajları da elde ederiz. Dolayısıyla tek kullanımlık şeridin güvenilirliği kanıtlanmıştır. Şeritle şifrelenmiş mesajdan sızan tek bilgi, onun varlığı ve uzunluğudur.
Bu tür şeritler eskiden tehlike anında hızlıca yakılabilmek için selülozdan imal edilirmiş. Elçilikler ülkeleri ile iletişimlerinde güvenilirliği sağlayabilmek için bu yöntemleri kullanırlarmış; şeritler diplomatik kurye ile getirilirmiş. Tek Kullanımlık Şeridin oldukça hantal bir kullanıma sahip olduğunu görüyoruz.

AÇIK ANAHTAR KRİPTOLOJİSİ YÖNTEMİ
Tek Kullanımlık Şerit, simetrik şifrelerin temel aksaklığını yoğunlaştırarak sunmaktadır: anahtar yönetimi. Bütün simetrik şifrelerde anahtarların gizli ve güvenli bir kanaldan iletilmesi gerekmektedir. Bunun nedeni şifreleme anahtarının çözme anahtarıyla aynı olmasıdır. 1978 yılında Diffie ve Hellman'ın ilk asimetrik şifreleme yöntemini çıkarmalarıyla beraber şifre yazım’da yeni bir dönem başlamıştır. Asimetrik şifreleme yöntemiyle artık şifreleme ve çözme anahtarları farklıdır. Anahtarlardan birinin şifrelediğini sadece diğeri çözebilir. Anahtarlardan birine açık anahtar, diğerine gizli anahtar adı verilir; açık anahtar herkese açıklanır. Ayşe Burak'a bir mektup yollamak istiyorsa, önce Burak'ın açık anahtarını temin edip, mesajını onunla şifreleyip Burak’a yollaması gerekir. Burak aldığı mesajı kendi gizli anahtarıyla açar. Ayşe'nin dikkat etmesi gereken tek nokta aldığı açık anahtarın gerçekten Burak'a ait olup olmadığıdır. Açık anahtar rahatça dağıtılabildiğinden, bunu sağlamanın kolay bir yolu, anahtarı bağımsız çeşitli noktalara dağıtmaktır; böylece Ayşe birden fazla yerden Burak’ın anahtarını temin edip doğrulayabilir.
SAYISAL İMZALAR YÖNTEMİ
Açık Anahtar Kriptografisinin (ing. Public Key Cryptography) sağladığı başka bir olanak ise sayısal imzalardır. Burak'ın aldığı mektubun gerçekten Ayşe'den gelip gelmediğini öğrenebilmesi için, Ayşe'nin mektubu imzalaması gerekir: Ayşe, mektubu yollarken, kendi gizli anahtarıyla şifreler. Burak Ayşe'nin gizli anahtarıyla şifrelediği kopyayı Ayşe'nin açık anahtarıyla çözer. Böylece mektubun Ayşe'den geldiğini ve değiştirilmediğini anlar. Çünkü Ayşe'nin açık anahtarıyla çözülebilen bir mektup sadece Ayşe'nin gizli anahtarıyla şifrelenmiş olabilir.
Neden asimetrik ?
Günümüzde pek çok açık anahtar algoritması tasarlanmıştır; en ünlüleri arasında ElGamal ve Diffie-Hellman kriptosistemleri ile yaygın olarak kullanılan ve adını tasarımcıları Rivest, Shamir ve Adleman'ın adlarının başharflerinden alan ünlü RSA'dır. Bunların dışında eliptik eğriler, kombinatuardaki altküme toplamı sorunu (ing. knapsack/subset sum problems) ve çeşitli modüler aritmetik problemleri üzerine kurulmuş algoritmalar bilinmektedir. Açık anahtar algoritmalarının tümü çok büyük sayılarla yapılan bazı işlemlerin bir yönde çok kolay, aksi yönde ise (en azından bugünkü matematik bilgimizle) çok zor olmasını kullanmaktadırlar. Asimetrik kriptografi terimi bu dengesizlikten gelmektedir. Örneğin RSA, çok büyük asal sayıları yaratmanın kolaylığına karşın büyük sayıların asal bileşenlerinin bulunmasının zor olmduğu varsayımına dayanır. Bu varsayımı destekleyen tek şey, uzun süredir matematikçilerin tamsayıları asal bileşenlerine ayırmanın hızlı bir yolunu bulmamış olmalarıdır.
KAPAN İŞLEMLER YÖNTEMİ
Asimetrik denebilecek bir başka işlemler sınıfı ise "kapan" işlemlerdir (ing. One-Way Hash Functions or Trapdoor Functions). Kapan işlemler değişebilir uzunluktaki bir metini alıp sabit uzunlukta bir değer üretirler; esasen kriptografik hata sezim kodlarıdır (ing. Error Detection Codes): 1 gigabaytlık bir dosyayı 128 bitlik sonuç veren bir kapan işleminden geçirirsek, o dosyanın her bitine bağımlı bir parmakizi elde ederiz. Dosyadaki herhangi bir kasıtlı veya kasıtsız değişiklik (bir bitlik bile olsa) kapan değerine yansır. Ayrıca parmakizinden metinin içeriği hakkında herhangi bir bilgi elde edilemediğinden kapan işlemler tek yönlü olarak nitelenir. Güvenli bir kapan işlemi ile, belli bir parmakizini verecek bir dosya yaratmak veya parmakizleri aynı olan iki dosya yaratmak çok zordur.

SONUÇ

Günümüzde de şifreleme yöntemleri her zaman aslında karşımıza çıkmaktadır örneğin bir bankanın ATM’sinden kartımızla para çekerken şifre kullanmak zorundayız. İnternette bir üyeliğimizi aktifleştirirken şifre kullanmak zorundayız. Bu kadar şifreleme yöntemini öğrendikten sonra bizlerde hayatımızda ki onlarca şifrelere birer şifreleme yöntemi oluşturarak birbirleri ile ilişkileri olmalarını fakat ilişkinin de sadece kendimiz tarafından bilinmesini sağlayabiliriz. Bu sayede onlarca şifreyi aklımızda tutmak yerine bir şifre ve bir tanede ilişkilendirme yöntemini bilmemiz yeterli olacaktır hayatımızı basitleştirmek ve güvenli kılmamız için yararlı olacaktır.

KAYNAKLAR
http://iccc.isikun.edu.tr/b_kupu/kriptografiye_giris.htm
http://kriptoloji.tr.cx/
http://tr.wikipedia.org/wiki/%C5%9Eifreleme
[1] http://iccc.isikun.edu.tr/b_kupu/kriptografiye_giris.htm
[2] http://iccc.isikun.edu.tr/b_kupu/kriptografiye_giris.htm
[3] http://iccc.isikun.edu.tr/b_kupu/kriptografiye_giris.htm
[5] http://iccc.isikun.edu.tr/b_kupu/kriptografiye_giris.htm
[6] http://iccc.isikun.edu.tr/b_kupu/kriptografiye_giris.htm
[7] http://iccc.isikun.edu.tr/b_kupu/kriptografiye_giris.htm
HAZIRLAYAN ÇAĞRI AKYILDIZ

Hiç yorum yok: