KRİPTOLOJİ Kriptografi, kriptoloji, kriptanaliz nedir ? ve kriptolojinin tarihçesi: Yunanca Kryptos Logos (Gizli kelime) tamlamasından gelen Kriptoloji, toplumda bir haberleşmenin gizli tutulabilmesi üzerinde çalışan bilim olarak düşünülse de aslında anlamı daha geniştir, çözülebilmesi çok zor matematik problemleri ve mekanizmaları inceleyen Kriptografiyi ve bu problemleri ve mekanizmaları çözmeyi hedefleyen ve saldırıları belirleyen Kriptoanalizi içerir. Şifreleme (Encryption), Veriyi bir anahtarla şifrelemeye verilen addır. Hedef, veriyi, gerekli anahtar olmadan çözülebilmesi imkansıza mümkün olduğunca yakın şekilde kodlamaktır. Şifre Çözme ise (Decryption) şifrelenmiş veriyi çözüp eski haline getirme işlemidir. Kriptolojide en çok kullanılan kelimelerden olan anahtar ise bir metni şifrelemekte veya açmakta kullanılan veri parçasına (sayı, kelime veya herhangi bir sayısal veri parçası) verilen isimdir. Başlangıcı itibariyle daha çok askeri uygulamalarda kullanıl¬mış. Günümüzde ise İnternet uygulama¬larının hız kazanması kriptografinin Web güvenliği alanında uygulanabilirliğini kanıtladı. Özellikle elektronik ticaret, online banka işlemleri gibi birçok dina¬mik uygulamada bilginin saklanması şart. Kriptografi bu anlamda en uygun teknikleri öneriyor. Verinin şifrelenmesi nasıl yapılıyor? Ori¬jinal verinizin şifrelenmesi için bir algorit¬maya, bir de anahtara ihtiyacınız var. Al¬goritma aslında hangi şifreleme yöntemi¬ni kullandığınızı gösteriyor. Kriptografi al¬goritmaları kabaca iki grupta toplanabilir: Kısıtlı algoritmalar, anahtar tabanlı algo¬ritmalar. Kısıtlı algoritmaların güvenilirliği algoritmanın kendisi saklı kaldığı müddetçe geçerli. Anahtar tabanlı algoritmalarda ise tam tersine algoritmanın yapısı saklı değil. Herkes tarafından bilinebilir. Saklı olan şifreleme için kullanılan anahtarın kendisi. Algoritma açıkça bilinse de anah¬tar gizli olduğu için algoritma çıktısı (şif¬relenmiş veri) gizli olmuş oluyor. Kısıtlı al¬goritmalar büyük işletmeler için uygun bir şifreleme yöntemi değil. Kullanılan algo¬ritmayı bilen birinin işten ayrılması veya kazara algoritmanın açığa çıkması duru¬munda sistemin yeni bir algoritmaya göre yeniden güvenliğinin sağlanması gerekli. Bu da işletmenin büyüklüğüyle orantılı olarak artan, başlı başına hacimli bir iş. Bu nedenle işletmeler güvenliğin sağlan¬masında anahtar tabanlı algoritmaları ter¬cih etmekteler. Anahtar tabanlı algoritmalarda bir veri şifreleneceği zaman şifreleme anahtarı kullanılır. Şifre çözüleceği zaman ise kar¬şılık gelen şifre çözücü anahtar kullanılır. Bu anahtarın gizli tutulması son derece kritik çünkü bu anahtarı eline geçiren her¬hangi biri bütün verileri/mesajları çözebi¬lecektir. Esasen şifreleme ve şifre çözme işlemleri oldukça kolay. Zor olan ise anahtarların güvenli bir şekilde saklanıp, gerekli olduğunda yine güvenli bir şekilde ilgili şahıslara gönderilmesi. Kriptografi literatüründe değişik şifre¬leme algoritmaları mevcut. Bunla¬r:
SİMETRİK ANAHTAR ALGORİTMALARI
Bu tür şifrelemede şifreleme ve şifre çözme için aynı anahtar kullanılır. Anahtarın saklı tutulmasından ötürü bu tür algoritmalara "gizli anahtar" algo¬ritmaları da denilmekte. Bu algoritma¬ların avantajı basit ve kolay uygulana¬bilir oluşu. Aynı zamanda bunlar hızlı ve verimli. Ancak bu algoritmaların en zayıf tarafı şifreleme ve şifre çözme için aynı anahtarın kullanılıyor olması. Tek bir anahtarın güvenliği nasıl sağlanabi¬lir? Diğer şahıslara bu anahtar güvenli olarak nasıl gönderilebilir? Kendi içinde tekrar eden bir durum, ilaveten diğer şahısların anahtarı gizli tutacağından nasıl emin olabilirsiniz? Dolayısıyla bu algoritmalar daha çok paylaşımın ol¬madığı durumlarda uygun. Bilgisayarı¬nızdaki dosyaların veya sabit diskinizin şifrelenmesi gerektiğinde rahatlıkla kullanılabilir. Literatürde bilinen bazı simetrik anah¬tar algoritmaları şunlar: DES (Data Encryption Standard): IBM tarafından geliştirilen DES 1977 yılında Amerikan hükümeti tarafından resmi bir standart olarak kabul edildi. En meşhur kriptografi algoritmalarından olan DEŞ yayınlandığı günden itibaren sayısız sal¬dırılara uğradı. Bu girişimlerden bir kıs¬mı başarılı oldu. Şifreleme için DEŞ 56 bit anahtar kullanıyor. Kaynak kodu üc¬retsiz olarak temin edilebilir. IDEA (International Data Encryption Algorithm): Bu yöntem DES’e kıyasla iki kat daha hızlı ve oldukça yüksek güven¬lik sağlıyor. Şimdiye dek üretilen en hızlı ve en güvenilir algoritma olduğu düşünü¬lüyor. 128 bit anahtar kullanıyor. Kaynak kodu ücretsiz olmasına rağmen ticari amaçlı kullanımlar için lisans gerekiyor. RC5 (Rivest Cypher version 5): RSA gru¬bu tarafından geliştirilmiş anahtar uzun¬luğu değişken bir yöntem. Anahtar uzun¬luğu 56, 64 veya 128 bit olabilir. Kaynak kodu ücretsiz olmasına rağmen ticari amaçlı kullanımlar için lisans gerekiyor. Blowfish: Bruce Schneier tarafından yazılmış algoritma orta düzeyde hıza sa¬hip. Güvenilirliği ise yüksek. Anahtar uzunluğu 32 ile 448 bit arasında değişi¬yor. Ücretsiz olarak kullanılabilir.
ASİMETRİK ANAHTAR ALGORİTMALARI
Bu algoritmalara "açık anahtar algoritma¬ları" da deniliyor. Anahtarın güvenlik problemi bu algoritma sayesinde çözülü¬yor. Çünkü şifreleme için ve şifre çözme için iki ayrı anahtar kullanılıyor. Şifreleme için kullanılan anahtar açık, alenen bili¬nen bir anahtar (public key). Ancak şifre çözmede kullanılan anahtar ise gizli (pri-vate key). Gizli anahtar kimseye verilmi¬yor. Açık anahtar ise bilakis rahatlıkla herkese dağıtılabiliyor. Her iki anahtar da ne kadar uzun olursa şifrenin kırılma ih¬timali o kadar zayıflıyor. Algoritmanın bir kısıtlayıcı yönü fazla CPU işlemi gerektir¬mesi. CPU yoğun başka işlerin tamamlan¬ması gerektiği zamanlarda ciddi perfor¬mans problemlerine sebebiyet verebilir. Asimetrik anahtar algoritmaları daha çok verinin paylaşılması veya verinin netvvork üzerinde dolaşması gereken ortamlarda veriyi şifreleme amacıyla kulla¬nılmakta. Algoritmanın ardında yatan şif¬releme mantığına bir örnekle bakalım: Varsayalım bir iş yerinde bu tür bir şifre¬leme uygulanmakta. Bu durumda herke¬sin kendine ait bir açık ve gizli anahtarı olacaktır. Ayrıca herkes başkalarının açık anahtarlarını da bilecek. Hattâ bu, liste halinde ellerinin altında olacak. Diyelim ki Bay X, Bay Y’ ye bir mesaj göndermek istiyor. Bu durumda X, Y'nin açık anahta¬rına listeden bakacak, mesajı Y'nin açık anahtarıyla şifreleyecek ve gönderecek. Mesaj Y'nin eline ulaştığında Y, kendi gizli anahtarını kullanarak mesajı açabi¬lecek. Bu, son derece güvenli bir yön¬tem. Çünkü Y'nin gizli anahtarı sadece Y'de bulunduğundan başkalarının mesa¬jı açması mümkün değil. Tabii Y gizli anahtarını kaybetmediği sürece... En meşhur asimetrik anahtar algorit¬ması Ron Rivest, Adi Shamir ve Len Adleman tarafından tasarlanmış ve i977'de patenti alınmış olan RSA. Algo¬ritma, tasarımcılarının ismini taşıyor.
KARIŞIK ALGORİTMALAR
Açık anahtar algoritmalarının nispeten yavaş olduklarından bahsetmiştik. Özellikle büyük dosyaların bu yöntemle şifrelenmesi söz konusuysa, iş içinden çıkılmaz bir hal alabiliyor. Öyle ki, yazılım açısından bakıldığında DEŞ, RSA'den yaklaşık 100 kat; donanım açısından 1000 kat daha hızlı. Karışık algoritmalar her iki yöntemin artı yönlerinden yararlanmayı hedefli¬yor. Orijinal veri simetrik anahtar kulla¬nılarak şifreleniyor. Daha sonra simetrik anahtarın kendisi alıcının açık anahtarı kullanılarak şifreleniyor ve mesajın so¬nuna ekleniyor. Şifre çözme işlemi sıra¬sında alıcının gizli anahtarı kullanılarak öncelikle simetrik anahtar elde ediliyor. Ardından simetrik anahtarla mesajın kendisi çözülüyor. Bu yöntemi kullanan tekniklerden biri PGP (Pretty Good Privacy). PGP işin simetrik kısmı için IDEA, asimetrik kısmı için RSA algoritması kullanıyor. Gizli anahtarları güvenli bir şekilde dağıtan bir diğer teknik ise Diffie-Hellman protokolü.
İletişim Ortamı: İletişim kurmak isteyen iki kişi, bunu bir ortamın fiziksel değişkenlerini belli kurallara göre değiştirerek yaparlar. Örneğin iki kişi yüz yüze konuştuğunda, ortam hava, fiziksel değişken ise basınçtır. Çoğu zaman, iletişim ortamına uyguladığımız değişikliklerin hangi alıcılar tarafından dinlendiğini bilemeyiz. Birisinden mektup aldığımızda, mektubun açılıp başkaları tarafından okunup okunmadığından emin olamayız. Elektronik mektuplar ise hedeflerine ulaşmak için onlarca bilgisayardan geçtiğine göre, mektuplarımızın gizliliği bu bilgisayardan sorumlu kişilerin insafına kalmıştır. Doğal olarak bilgisayar ortamındaki verilerin okunup okunmadığına dair hiç bir şey bilmemiz mümkün değildir. Ve daha da önemlisi, aldığımız bir elektronik mektubun gerçekte kimden geldiğini ve yolda değiştirilip değiştirilmediğini öğrenmemiz de son derece zordur. Dolayısıyla iletişimin gizliliğini ve güvenliğini sağlamak için tek çare, bu işlerini ciddiye alan bütün kurum ve kuruluşlar gibi şifreleme kullanmaktır. Şifre yazım ile ilgili çoğu yazılarda olduğu gibi, Ayşe ve Burak isimli iki kişinin (A ve B) gizli iletişim kurmak istediklerini varsayalım, ve temel şifreleme yöntemlerini inceleyelim. Olayı basitleştirmek için, Ayşe'nin Burak'a elektronik posta aracılığı ile bir metin ulaştırmak istediğini düşüneceğiz. Gizli Yöntem Anlaşması: 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. Bu aşamada, temel işleyişi sabit olan ama parametrelenebilir bir yöntem gerekir. Artık birden fazla kişi ile temel mekanizma üzerinde, gizliliğe gerek duymadan anlaşabilirsiniz; gizli olarak anlaşmanız gereken tek kısım, şifreleme yönteminin değişken kısmıdır. Bu değişken kısmı belirleyen şeye şifreleme anahtarı denir. Bu çeşit yöntemlere Gizli Anahtar Anlaşmalı Açık Yöntemler tanımı getirilebilir. Bunlara simetrik şifre diyeceğiz. Bir benzetme yapacak olursak, Gizli Yöntem Anlaşması şifresi fabrikada sabitleştirilmiş bir kasaya; Gizli Anahtar Anlaşmalı şifreler ise şifresi sahibi tarafından değiştirilebilen daha gelişmiş kasalara benzetilebilir. Simetrik Şifreler (Açık Yöntemli Gizli Anahtar Anlaşmalı Şifreler): Düşünülebilecek en basit simetrik şifrelerden biri Sezar Şifresidir. Eski Roma İmparatoru Sezar'ın kullandığı bu şifre bütün kriptolojiye giriş yazılarının standart örneğidir. Sezar Şifresini kullanmanın basit bir yolu, alfabenin bütün harflerini bir kağıt şeridi üzerine yazıp, şeridin başını sonuna yapıştırmaktır. Gizli Anahtar olarak (veya şifrenin değişkeni) olarak, bir ile alfabemizdeki harf sayısı eksi bir arasında bir n sayısı seçilir. Metinimizi şifrelemek için, harfleri teker teker alırız; şeridin üzerinde o harfin yerini bulup, sağa doğru n tane harf atlarız; şifreli metinimizde ise o harfin yerine bulduğumuz yeni harfi buluruz. Şifreyi çözmek için, aynı işlemi, şeridi aksi yönde çevirerek gerçekleştiririz. Tabi şifreyi çözebilmek için, Ayşe ile Burak’ın birbirlerine gizlice n sayısını iletmeleri gerekir. Örnek olarak latin alfabesiyle, n=13 parametresiyle şifrelenmiş bir Sezar Şifresini şekil’de görebilirsiniz.
Açık Metin: "SEZAR MEZAR TURK POLISI YAKALAR" Şifrelenmiş Metin: "FRMNE ZRMNE GHEX CBYVFV LNXNYNE" Şekil. Örnek Sezar şifresi uygulaması Sezar Şifresi tek alfabeli yer değiştirme veya permütasyon şifreleri arasında değerlendirir (ing. monoalphabetic substitution cipher); Vigenere şifresi onun çok alfabeli bir çeşididir. Kullanılan simetrik şifrelerin çoğu parametrelenebilir bir permütasyon olarak değerlendirilebilir. Anahtarı Bulmak: Sezar Şifresini çözmek için tek yol kullanılan n sayısını bulmak olsaydı, işimiz yine de pek zor olmazdı, çünkü n sayısının alabileceği farklı değerler çok, çok küçük: alfabemizdeki harf sayısından bir daha eksik. Hepsini teker teker elle deneyebiliriz. Bilgisayara çözdürmek sadece bir kaç mikro saniye alır. Simetrik bir şifreyi çözmek için anahtar değerlerini teker teker deneme yöntemine, İngilizce "Brute Force Search", Fransızca "Recherche Exhaustive" denir. Türkçe buna Deneme-Yanılma yöntemi diyebiliriz. Deneme-Yanılma yönteminde, n değer alabilen anahtarlar arıyorsak, bir tanesi bulabilmek için ortalama n/2 değer denememiz gerekir. Anahtar Uzunluğu: 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ş WWW ü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. Kaç bitlik bir anahtar güvenlidir ?: Anahtarın deneme-yanılma yöntemiyle bulunmasını engellemek için, bugünkü süper bilgisayarlardan milyonlarca kat daha hızlı çalışan bir bilgisayarla bile milyarlarca yıl sürmesi için, yaklaşık 100 bitlik bir anahtar uzunluğunun uygun olduğu düşünülüyor. PGP'nin de kullandığı IDEA şifreleme algoritması, 128 bitlik anahtar uzunluğu kullanıyor. Aşağıdaki tabloda farklı anahtar boyları için, saniyede bir milyon, bir milyar ve bir trilyon şifre deneyebilen bilgisayarlar için kırma zamanları verilmiştir. 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 Kriptanaliz, veya "Anahtarı Bulmadan Şifre Nasıl Çözülür ?" : Türkçe şifre çözüm diyebileceğimiz kriptanaliz, şifre bilimin (kriptolojinin) temel etkenlik alanıdır. Şifre yazımda, şifre çözümde 1940-1944 Dünya Paylaşım Savaşında oldukça gelişmiştir. Temel olarak, şifre çözümün amacı, kullanılan şifrenin zayıflıklarından ve şifrelenen metin hakkındaki bilgilerden yola çıkarak bütün anahtarları deneme zahmetinden kurtulmaktır. Kriptanalist, veya şifre çözücü düşmanın şifrelerini çözmekle uğraşan teknisyendir. Kriptolog ise şifre bilimcidir. Nazilerin 1940-1944 savaşında kullandıkları ünlü Enigma şifreleme makinesi. 116 bitlik bir anahtar uzunluğuna sahipti. Yani bugünün sağlan şifrelerinin kullandıkları boyda idi. Buna rağmen, savaşta şifre bilimcilik yapan bilgisayar biliminin babası İngiliz Alan Turing, Enigma şifresinin yapısal zayıflıklarını kullanarak, Colossus isimli ilk tüplü bilgisayar yardımıyla da Nazilerin iletişimlerini çözmeyi başardı (Colossus'ün bugünün adi dört işlemli hesap makinelerinden bile kat kat daha yavaş olduğunu göz ardı etmemek gerek). Sezar Şifresi Nasıl Çözülür: Sezar şifresi basit bir alfabe değiştirme (ing. substitution) ş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 eşitsiz olduğunu görürüz. Latin alfabesine çevrilmiş bir Türkçe metinden çıkartılan istatistiklere göre:
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. Türkçe harf 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. Simetrik Şifreleme Algoritmalarının Güvenilirliği: Simetrik şifreleme algoritmaların tasarımı hala önemli ölçüde deneyseldir. Bu konuda yapılan çalışmalar grup teorisi çerçevesinde ilerlemektedir; iyi bir şifrenin göstermesi gerektiği düşünülen özellikler saptanmaya çalışılmaktadır. Öte yandan Şifre çözüm konusundaki araştırmaların büyük çoğunluğu devletler tarafından yapılıyor. Örnek olarak ABD'nin şifre bilim üniversitesi denilebilecek NSA (National Security Agency veya Ulusal Güvenlik Kurumu) dünyanın en çok matematikçi istihdam eden kurumu. Devletler, matematikçilerinin şifre çözüm ve şifre tasarımı hakkında bulduklarını, üstünlüklerini koruyabilmek için saklı tutuyorlar (bu elbette bütün teknolojiler için geçerli). Dolayısıyla kamuda bilinen şifreleme algoritmalarının güvenilirliğini değerlendirmek için sivil şifre bilimcilerin sınırlı kaynaklarla yaptıkları çözme girişimlerinden başka bilgi kaynağımız yok. Şifre bilimciler bir algoritmanın güvenilirliği hakkında 10 yıldan daha uzun bir süre için tahmin yürütmenin epey zor olduğunu ifade ediyorlar. Sonuçta şifre bilim matematiktir ve matematikte beklenmedik sonuçlar yok değildir. Tek Kullanımlık Şerit: Bütün bunlara rağmen kesin güvenilirliğinin kanıtı çok basit olan bir şifreleme yöntemi vardır. 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 çevirilip toplanılır. Harfler sayıya çevirilirken 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.
Şifresiz Metin: BUMESAJTEKKULLANIMLIKSERITILESIFRELENMISTIR Şerit: DOKPEZRHOCVSVMLNDTKBJTSDSULEPLSSZCHEBZMQCHJ + (mod 26) Şifreli Metin: EIWTWZAASMFMGXLALFVJTLWUANTPTDAXQGSIOLUIVPA = Şekil. Örnek Tek Kullanımlık Şerit şifresi uygulaması Şeritteki harflerin rasgele seçilmiş olması çok önemlidir. Harfleri rasgele seçilmiş bir şerite, 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 Şeritin oldukça hantal bir kullanıma sahip olduğunu görüyoruz. Açık Anahtar Kriptografisi: 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 şifreyazı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. Sayısal İmzalar: Açık Anahtar Kriptografi’sinin (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 kripto sistemleri 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 olduğ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 : 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 parmak izi 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 parmak izinden 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 parmak izini verecek bir dosya yaratmak veya parmak izleri aynı olan iki dosya yaratmak çok zordur. Hibrid Kripto sistemler : Açık anahtar kriptografisi büyüklükleri 500 ile 2000 bit arasında değişen geniş sayıların işlenmesini gerektirdiğinden, simetrik şifreleme yöntemlerine göre çok daha yavaştır. Simetrik şifrelerin hızını asimetrik kripto sistemlerin sunduğu anahtar yönetimi kolaylığı ile birleştirmek için, genellikle melez şifreleme sistemleri kullanılır. Ayşe, Burak'a yollayacağı mesaj için rasgele ve geçici bir simetrik şifre anahtarı seçer. Mesajı böylece hızlı olan simetrik şifreyle kilitler. Kısa olan anahtarı ise Burak'ın açık anahtarıyla şifreleyip, ikisini beraber yollar. Böylece Ayşe, uzun olabilecek mesajı hızlı olan simetrik şifreyle, kısa olan geçici simetrik şifre anahtarını ise yavaş olan asimetrik kriptografiyle şifrelemiş olur. PGP'nin kullandığı yöntem de budur. Aynı şekilde, sayısal imza için, Ayşe'nin bütün mesajı kendi gizli anahtarıyla şifrelemesi yerine, kısa olan mesajın parmak izini imzalaması çok daha hızlı olacaktır. Ekler Algoritmanın Adı Geliştiren Tarihi Tipi (Blok Uzunluğu) Anahtar Uzunluğu Döngü Sayısı Çözülme Durumu Kullanım Koşulları DES (Data Encryption Standard) IBM (ABD) 1977 Feistel Blok (64 bit) 56 bit (parity ile 64 bit) 16 Sağlam; 8 döngülü çeşidi çözülebiliyor; 16 zayıf anahtar Serbest IDEA (International Data Encryption Algorithm) Lai-Massey, ETH Zurich (İsviçre) 1992 Blok (64 bit) 128 bit 8 Sağlam; 251 zayıf anahtar Ticari faaliyetler hariç serbest RC2 (Rivest's Cipher veya Ron's Code 2) Rivest, RSA Data Security (ABD) 1992 Katar 2048 bite kadar Bilinmiyor Zayıflık bulunmadı Algoritma RSA tarafından saklı tutuluyor RC5 (Rivest's Cipher veya Ron's Code 5) Rivest, RSA Data Security (ABD) 1995 Blok (32, 64 veya 128 bit) 2048 bite kadar 255'e kadar 64 bit blok ve 12 döngü ile diferansiyel ve doğrusal şifreçözüme dayanıklı Serbest Blowfish Bruce Schneier, Counterpane Systems (ABD) 1993 Feistel Blok (64 bit) 448 bite kadar 16 3 döngülü çeşidi diferansiyel şifreçözüme hassas Ticari faaliyetler hariç serbest FEAL (Fast Data Encipherment Algorithm) Shimizu ve Miyaguchi (Japonya) 1988 Blok FEAL-4 64 bit; FEAL-N 128 bit FEAL-4 4 döngü; FEAL-N 31 döngü Güvensiz; çeşitleri başarıyla çözümlendi SAFER (Secure and Fast Encryption Routine) Massey, Cylink Corporation (ABD) 1993 Blok (64 bit) 64 bit; 128 bit 10 döngüye kadar İlk sürümlerinin anahtar açılımında zayıflıklar vardı Skipjack (Clipper Chip) NSA (ABD) 1993 Blok (64 bit) 80 bit 32 Algoritma gizli Sadece özel entegre devre olarak bulunuyor Lucifer IBM (ABD) 1970? Feistel Blok (64 bit) 128 bit 16 DES'in prototipi olduğundan zayıflıklar içermesi olasıdır GOST 28147-89 I.A.Zabotin, G.P.Glazkov, V.B.Isaeva (Sovyetler Birliği) 1989 Feistel Blok (64 bit) 256 bit; 512 bit tanımlanabilir sübsitüsyon; 610 bit etken gizli bilgi 32 SSCB tarafından bütün gizlilik derecelerindeki bilgiler için uygun görülmüştür Serbest ASEKAL-21 Aselsan (Türkiye) - Doğrusal olmayan katar 57 bit ? - Ulusal olarak onaylanmış algoritma Aselsan 2101, 2010 Veri ve Ses şifreleme birimlerinde kullanılıyor
Kriptografi Terimleri Sözlüğü
Bu tanımlarwww.linux.org.tr'daki Türkçe Bilgisayar Terimleri dosyalarından filtreleşmiştir.
Tanımlar Dizin anahtar üretimi (Fra. Géneration de clès, ing. key generation) Kriptografide kullanılan anahtarların yaratılma süreci. anahtar yönetimi (Fra. gestion des clès, ing. key management) Bir güvenlik politikası gereği kripto anahtarlarının üretimi, saklatımı, dağıtımı, ortadan kaldırılması, arşivlenmesi ve uygulanması. bağdan bağa kriptolama (Fra. chiffrement de liasion, ing. link-by-link encipherment) Bir iletişim sisteminin her bir bağında ayrı ayrı yürütülen kriptolama. çevrimdışı kriptolama (Fra. chiffrement hors ligne, ing. off-line encipherment) ‹letim hattına bağlı olunmadan yürütülen kriptolama. çevrimiçi kriptolama (Fra. chiffrement en ligne, ing. on-line encryption) Belirli bir iletim sisteminde verilerin kriptolanıp hemen iletilmesi, ve alıcı tarafta da gelen verilerin hemen kriptolarının çözülmesi. donanımla kriptolama (Fra. codage par matériel, ing. hardware encryption) Geleneksel yazılımla yapılan kriptolamaya göre çok daha hızlı gerçekleştirilen donanım aygıtlarını kullanan kriptolama. kamusal anahtar (Fra. clè publique, ing. public key) Bir kamusal şifreleme sisteminde sadece kriptolama kısmı için kullanılan, kripto çözmekte kullanılamayan anahtar. karılmalı kripto (Fra. cryptage par transposition, ing. transposition cipher) Açık bir metnin harflerinin olağan sırasında değiştirerek, kararak elde edilen kripto. kripto anahtarı (Fra. clé de cryptage, ing. cryptographic key) Kriptolama ve kripto çözme işlemlerinde kullanılan simge dizisi. kripto analizi (Fra. analyse cryptographique; cryptanalyse, ing. codebreaking, cryptanalysis) Bir kriptografik sistemin girdi ve/veya çıktılarını inceleyerek tasnifli verilere, şifresiz bilgilere ulaşmayı amaçlayan yasadışı analiz. kripto(grafik) güvenlik (Fra. cryptosecurité, ing. cryptographic security) Teknik açıdan yeterli ve doğru kullanılan kripto sistemleri sayesinde elde edilen iletişim güvenliği. kriptografi (Fra. cryptographie, ing. cryptography) Sadece alıcısının kodunu açabileceği şekilde düzenlenmiş ve mesajların içeriğini gizlemeyi amaçlayan gizli dönüşümler bilimi. kriptografik kimlik kanıtlanma (Fra. authentication cryptographique, ing. cryptographic authentication) Kimlik kanıtlamasının kripto sistemlerine dayanarak yürütülmesi. ornatımla kriptolama (Fra. cryptage par substitution, ing. substitution cipher) Açık metnin herbir harfinin belirli bir kurala göre başka bir harfle değiştirildiği kriptolama yöntemi. şifresiz metin (Fra. texte en clair, ing. plaintext) Kriptografide iletilerin şifrelenmemiş, normal, okunabilir halleri. TEMPEST güvenliği (Fra. securité d'emission, TEMPEST, ing. emission security, TEMPEST) Teleiletişim sistemlerinden, bilgiişlem donatımından, kripto donatımından salımlanan elektromanyetik dalgalardan yetkisiz kişilerin bilgi çıkarsamalarını engelleyici güvenlik önlemlerinin tümü. trafik dolgulaması (Fra. bourrage, ing. traffic padding) Yapay iletimlerle düşman tarafının trafik analizini yapması ve kriptoyu çözmesini zorlaştırmak. uçtan uca kriptolama (Fra. chiffrement de bout en bout, ing. end-to-end encipherment) Bir iletişim ağının bir ucunda kriptolanan bilginin, ancak alıcı uçta kriptosunun çözüldüğü sistem. ciphering şifreleme, kriptolama codebreaking kripto analizi cryptanalysis kripto analizi crypto key kripto anahtarı cryptogram kriptolu metin cryptographic algorithm kriptolama algoritması cryptographic analysis kripto analizi cryptographic authentication kriptolu kimlik kanıtlama cryptographic security kriptolu güvenlik cryptographic system şifreleme sistemi, kriptolama sistemi cryptographically protected kriptoyla korunmuş cryptography kriptografi cryptosecurity kriptolu güvenlik cryptosystem şifre sistemi, kripto sistemi decipher, to kripto çözmek decipherment kripto çözme decryption şifre çözme, kripto çözme encipher, to şifrelemek, kriptolamak encrypted text şifreli metin, kriptolu metin encryption (of data) verinin kriptolanması encryption algorithm kriptolama algoritması endto end encryption uçtan uca kriptolama hardwareencryption donanımla kriptolama linkby link encipherment bağdan bağa kriptolama off-lineencrypting çevrimdışı kriptolama on-lineencrypting çevrimiçi kriptolama public key data encryption system kamusal anahtarlı veri kriptolama substitution cipher ornatımla kriptolama transposition cipher karılmaya dayalı kripto ABD'nin Küresel Gözetim Sistemi: İkinci Dünya Savaşından sonra Sovyetler Birliği ile "Soğuk Savaş" döneminin başlamasıyla ABD dünya çapında istihbarat faaliyetlere ağırlık verdi. ABD'nin gözetim sistemiyle ilgili aşağıdaki bilgiler, farklı ülkelerden çeşitli yazarlar tarafından ortaya konmuştur, ve İnternet'te de kolayca bulunabilir. Bunlarla ilgili olarak oldukça ayrıntılı bilgiler içeren Faruk Bildirici'nin İletişim yayınlarında çıkan "Gizli Kulaklar Ülkesi" isimli kitabından aşağıdaki bölümleri: Amerika nasıl dinliyor ?: Amerika'da dinleme faaliyetlerini yürüten üç ayrı kuruluş bulunuyor; NSA (Ulusal Güvenlik Ajansı), FBI (Federal Araştırma Bürosu) ve CIA. ABD'nin 'en büyük kulağı' olan NSA, Başkan Harry S. Truman'ın 24 Ekim 1952'de imzaladığı 'çok gizli' genelgeyle kuruldu. Kuruluştan, ne ABD Kongresi'nin haberi oldu, ne de kamuoyunun. Truman bu yeni kuruluşa, dünya çapında iletişim istihbaratı görevi verdi. Önceleri diplomatların ve askerlerin şifreli telsiz görüşmelerini dinleyen NSA, daha sonraları uluslararası sivil telefon görüşmelerini dinleyen NSA, daha sonraları uluslararası sivil telefon görüşmelerini de hedefleri arasına aldı. 1960'lı ve 70'li yıllarda ortaya çıkan yönlü telsiz haberleşme ve uydu teknolojisi NSA'nın işini daha da kolaylaştırdı. Artık havaya çıkan hiçbir radyo sinyali, hiçbir telefon görüşmesi NSA'nın dünya yüzeyine dağılmış binlerce uzmanının eline düşmekten kurtulamıyordu. NSA, 1952'de kurulduktan hemen sonra, gizli bir iç yönetmelik çıkararak CIA ile işbölümü yaptı. CIA de bir yıl sonra, kendi sınırlarının belirlemek amacıyla FBI ile pazarlığa oturdu. CIA'nin ülke içindeki faaliyet alanı çizildi. CIA, Aynı kitapta "Gözetim Teknolojisi" bölümü altında, ABD'nin meşhur "ECHELON" sistemi açıklanıyor: Elektronik postadaki yeni avcı: Bilgi güvenliği tartışmaları gürültüsü sürerken, istihbarat örgütleri bilgisayar ağlarına sızma teknolojisinde epeyce yol kat etmişlerdi bile. Neredeyse sızamayacakları bilgisayar ağı kalmadı. Telefon görüşmelerinde hedef sözcükleri tarayabilen sistemleri 1970'lerden itibaren kullanmaya başlayan NSA, 1980'lerin sonuna doğru, bilgisayarları da kapsayan yeni bir sistem geliştirdi. 'Global bir network sistemi' olarak tanımlanan 'ECHELON', telefonların yanı sıra teleks, faks ve internette 'hedef sözcükleri' tanıyabiliyor. Milyonlarca mesaj arasından aranan sözcüklerin kullanıldığı elektronik mesajları tespit edebiliyor. 'ECHELON sözlüğünde bulunan hedef sözcükleri tarayan bilgisayarlar, aynı anda gelen mesajları sıraya koyarak taramayı sürdürebiliyor. 'ECHELON' haberleşme ağı, Kuzey Amerika'da üç, İngiltere'de iki, Almanya, Japonya ve Yeni Zelanda'da birer, Avustralya'da iki üsden oluşuyor. Eskiden tüm dünyaya yayılan yüzlerce üsden yapılan dünyayı dinleme faaliyeti, artık sadece 10 üs ile dünyanın etrafında dönen yüzlerce uyduların ortak faaliyetiyle sürdürülüyor. Çeşitli ülkelerin haberleşme uyduları da ECHELON'un hedefleri arasında yer alıyor. Kuantum Bilgisayarlar ve Kriptoloji:
KUANTUM BİLGİSAYARLAR: Bilgisayarlarımız gün geçtikçe hızlanıyor, ancak geleneksel yöntemlerle ulaşabileceğimiz cpu saat hızı sınırına oldukça yaklaştık. Bu günkü işlemciler sıradan bir kullanıcı için aslında yeterli. Ancak kripto çözme, atom altı parçacık mekaniği gibi çok büyük verilerin işlendiği ya da çok uzun döngülerin kurulduğu durumlarda normal PCler bu yükü taşıyamamaktadır. Kuantum bilgisayarlar işte bu noktada karşımıza çıkıyor.
KUANTUMNEDİR?: Kuantum kavramı, atom düzeyindeki, hatta daha küçük parçacıkların fizik kurallarını tanımlar. Kuantum mekaniği, burada anlatılmayacak kadar karmaşıktır. Bilmeniz gereken, bu boyutta her şeyin "belirsiz" olduğudur. Kuantum dünyasının kurallarına göre örneğin, bir elektronun atom etrafındaki yörüngesini ya da belirli bir anda bu yörüngenin neresinde olduğunu tespit etmek olanaksız. Yapabileceğiniz en iyimser şey, elektronun olası yörüngelerini bulmaktır. Yukarıdaki açıklamadan biraz daha karışık olacak ama, kuantum dünyasında madde (elektronlar, fotonlar, vs.) yapılan gözleme göre bazen parçacık, bazen de dalga gibi davranır. Anlaşılır bir dille söylemek gerekirse gerçek dünya dediğimiz şey üst üste binmiş bir dizi gerçekten gözlem alanımıza giren bir tanesi. KUANTUM BİTLER: Geleneksel bilgisayarın en temel işlem birimi "bit" tir. Bir bit 0 ya da 1 değerini alır. Kuantum bilgisayarın temel işlem birimi "kubit" ise aynı anda hem 0 hem de 1 olabiliyor. Bunun sağladığı avantajı bir örnekle anlatalım: Bir pizzacı A mahallesinden gelen bir siparişi götürüyor. Tam mahalleye ulaştığında fark ediyor ki, adresin yazılı olduğu kağıt kayıp. Bu durumda siparişin teslim edilebilmesi için pizzacının yapacağı tek şey mahalledeki tüm evlere tek tek uğrayıp siparişin verilip verilmediğini sormak. Yani bir bilgisayar gibi adım adım ilerlemek. Eğer bizim pizzacının bir kaç arkadaşı varsa, arama biraz daha hızlanabilir. her arkadaş bir sokağı dolaşır ve siparişin verildiği evi bulan geri dönüp pizzacıya haber verir. Bilgisayar dünyasında buna paralel işleme (parallel processing) denir. Paralel işleme zor ve pahalı bir işlemdir. Şimdi, bizim pizzacının kuantum fiziği kurallarına tabi olduğunu düşünelim. Kendi kendini mahalledeki ev sayısı kadar bölen pizzacı (dalgacık) aynı anda tüm evlere birden uğruyor, doğru adresi bulan pizzacı dışındaki kopyalar kayboluyor. İşte kuantum bilgisayarların yapabildiği şey de bu. Burada, söylememiz gereken bir şey daha var. Kuantum bilgisayarlardan beklenen, aynı anda olası tüm durumları deneyip sistemin tek bir noktaya (doğru sonuca) doğru "çökmesi". Haliyle bu yapı bildiğimiz programlama yöntemlerinin tamamen tersi bir programlama mantığı gerektiriyor. NE İŞE YARAYACAK?: En başta Amerikan Ulusal Güvenlik Konseyi'nin (NSC) işine yarayacak kuantum bilgisayarlar. Bu örgüt düşman haberleşmesini dinlemek ve şifrelerini kırmak gibi ulvi bir işleve sahip. Eh, kırılacak şifreler en az 250 rakamlı sayı dizileri içerince "normal" bilgisayarlar pes ediyor. Ancak bu türden bir şifre kırıcı kuantum bilgisayarın en azından 100 000 kubit lik olması gerekli. Bu da neresinden bakarsanız bakın 22. yüzyıla kadar gerçeklenebilir gözükmüyor. Kuantum bilgisayarlar kuantum fiziği problemlerinin çözümünde de kullanılabilirler. Masa üstü için en iyimser tahminle bir iki yüz yıl daha beklememiz gerekli. Bu günkü teknolojiyle iki kubitlik bir yapı bile bir laboratuarın önemli bir kısmını kaplıyor.
Bilgi için çok teşekkürler, hemen kopyalayıp kaydettim. Keşke (Kriptografi Terimleri Sözlüğü hariç) aldığın kaynağı da yazsaydın.
dostum konunun "Network, İnternet ve Güvenlik" forumu ile bi ilgisini göremedim. Keşke "Yazılım Genel" bölümünde açsaydın bu topiği..
güzel çalışma
rc4 varda md5 ten bahsetseydin iyi olurdu neyse güzel döküman sağolasın