# Kriptografi
 - YÖNLENDİRME 
Kriptografi, kriptoloji ya da şifreleme (Eski Yunancadan: "κρυπτός", romanlaştırılmış: kryptós "gizli, saklı" ve "γράφειν" graphein, "yazma" veya -"λογία" -logia, "çalışma"), okunabilir durumdaki bir verinin içerdiği bilginin istenmeyen taraflarca anlaşılamayacak bir hale dönüştürülmesinde kullanılan yöntemlerin tümüdür. Kriptografi bir matematiksel yöntemler bütünüdür ve önemli bilgilerin güvenliği için gerekli gizlilik, aslıyla aynılık, kimlik denetimi ve asılsız reddi önleme gibi şartları sağlamak amaçlıdır. Bu yöntemler, bir bilginin iletimi esnasında ve saklanma süresinde karşılaşılabilecek aktif saldırı ya da pasif algılamalardan bilgiyi –dolayısıyla bilginin göndericisi, alıcısı, taşıyıcısı, konu edindiği kişiler ve başka her türlü taraf olabilecek kişilerin çıkarlarını da– koruma amacı güderler.


## Bilgi güvenliği kavramları.
Bir bilginin güvenli olarak iletileceğinden ya da elde edilmiş bir bilginin güvenli bir şekilde elde edilmiş olduğundan bahsedilebilmesi için, kullanılan iletişim sistemlerinin sahip olması beklenebilecek bazı güvenlik kavramları vardır:
  - "Gizlilik" ("privacy/confidentiality"): Bilgiyi görme yetkisi olanlar dışındaki herkesten gizli tutmak.
  - "Kimlik denetimi" ("authentication/identification"): İletimi gerçekleştirilen bir mesajın göndericisinin gerçekten gönderen kişi olduğu garantisi.
  - "Bütünlük" ya da aslıyla aynılık ("integrity"): Bütünlük bir bağlantının tamamı ya da tek bir veri parçası için, mesajın gönderildiği gibi olduğuna, üzerinde hiçbir değişiklik, ekleme, yeniden düzenleme yapılmadığı garantisi.
  - "Reddedilmezlik" ("non-repudiation"): Göndericinin ondan gelen mesajı inkâr edememesi (böylece bir mesaj gönderildiğinde alıcı göndericinin mesajı gönderdiğini ispatlayabilir).
  - "Erişim kontrolü" ("access control"): İzinsiz kişi ya da uygulamaların erişmemeleri gereken kaynaklara erişemeyecekleri garantisi (ağ güvenliği bağlamında, erişim kontrolü, ana bilgisayar sistemlerine erişimleri kontrol etme ve limitlendirme yetisidir. Bu kontrolü başarmak için, erişimi kazanmaya çalışan her varlık ilk olarak tanımlanmalı veya doğrulanmalıdır. Erişim kontrolü servisleri kimlik denetimi yapılmış varlıkların kaynaklara ancak kendilerine izin verilen şekilde erişebilecekleri garantisini vermekle yükümlüdür).
Bu temel kavramlar dışında zaman bilgisi, tanıklık, anonymity (kimliği gizlilik, meçhullük), sahiplik, sertifikalandırma (tescil), imzalama gibi kavramlardan da bahsedilebilir.


## Kriptografik sistemlerin esasları.
Esas kelimesi ile bir kriptografik sistem içerisinde kullanılan temel işlevlerden bahsedilmektedir. Bir kriptografik sistem, bilgi güvenliğini sağlamak için bir araya getirilmiş birçok küçük yöntemler bütünlüğü olarak görülebilir. Bu yöntemler yapıları itibarı ile üç ana grupta incelenebilirler:
  - Anahtarsız şifreleme
  - Gizli anahtarlı şifreleme
  - Açık anahtarlı şifreleme


## Kriptografik protokoller.
Kriptografi sadece bilgi saklaması ve aktarması problemine güvenli bir çözüm aramaktan ibaret değildir. Elektronik imza, elektronik para ve elektronik seçim gibi farklı kullanım alanları da bulunmaktadır. Bu problemlere çözüm getiren protokoller, bahsi geçen şifreleme sistemlerine ek olarak, "kriptografik temel taşları" diyebileceğimiz yöntemler kullanmaktadır. Bunlardan bazıları şunlardır:
  - Sır Paylaşımı
  - Sıfır Bilgi Ispatları
  - Kör İmzalar


## Kriptolojinin tarihçesi.
Kriptoloji çok eski çağlardan beri insanoğlu tarafından kullanılmaktadır. Bu tarihçeye kısaca bakacak olursak:
  - MÖ 1900 dolaylarında bir Mısırlı kâtip yazdığı kitabelerde standart dışı hiyeroglif işaretleri kullandı. 
  - MÖ 60-50 Julius Caesar (MÖ 100-44 ) normal alfabedeki harflerin yerini değiştirerek oluşturduğu şifreleme yöntemini devlet haberleşmesinde kullandı. Bu yöntem açık metindeki her harfin alfabede kendisinden 3 harf sonraki harfle değiştirilmesine dayanıyordu. 
  - 725-790 Abu Abd al-Rahman al-Khalil ibn Ahmad ibn Amr ibn Tammam al Farahidi al-Zadi al Yahmadi, kriptografi hakkında bir kitap yazdı (Bu kitap kayıp durumdadır). Kitabı yazmasına ilham kaynağı olan, Bizans imparatoru için Yunanca yazılmış bir şifreli metni çözmesidir. Abu Abd al-Rahman, bu metni çözmek için ele geçirdiği şifreli mesajın başındaki açık metni tahmin etme yöntemini kullanmıştır. 
  - 1000 - 1200 Gaznelilerden günümüze kalan bazı dokümanlarda şifreli metinlere rastlanmıştır. Bir tarihçinin dönemle ilgili yazdıklarına göre yüksek makamlardaki devlet görevlilerine yeni görev yerlerine giderken şahsa özel şifreleme bilgileri (belki şifreleme anahtarları) veriliyordu. 
  - 1586 Blaise de Vigenère(1523-1596) şifreleme hakkında bir kitap yazdı. İlk kez bu kitapta açık metin ve şifreli metin için otomatik anahtarlama yönteminden bahsedildi. Günümüzde bu yöntem hala DES CBC ve CFB kiplerinde kullanılmaktadır. 
  - 1623'te Sir Francis Bacon, 5-bit ikili kodlamayla karakter tipi değişikliğine dayanan stenografı geliştirdi. 
  - 1854 : Charles Wheatstone arkadaşı Lyon Playfair'in adını koyduğu Playfair şifresini tasarlamıştır. 
  - 1790'da Thomas Jefferson, Strip Cipher makinesini geliştirdi. Bu makineyi temel alan M-138-A, ABD donanmasının 2.Dünya savaşında da kullandı. 
  - 1917'de Joseph Mauborgne ve Gilbert Vernam mükemmel şifreleme sistemi olan "one-time pad"'i tasarladılar. 
  - 1920 ve 1930'larda FBI içki kaçakçılarının haberleşmesini çözebilmek için bir araştırma ofisi kurdu. 
  - William Frederick Friedman, Riverbank Laboratuvarlarını kurdu, ABD için kripto analiz yaptı, 2. Dünya savaşında Japonlar'ın Purple Machine şifreleme sistemini çözdü.
  - II. Dünya savaşında Almanlar Arthur Scherbius tarafından icat edilmiş olan Enigma makinasını kullandılar. Bu makine Alan Turing ve ekibi tarafından çözüldü. 
  - 1970'lerde Horst Feistel (IBM) DES'in temelini oluşturan Lucifer algoritmasını geliştirdi. 
· 1976'da DES (Data Encryption Standard), ABD tarafından FIPS 46(Federal Information Processing Standard) standardı olarak açıklandı. 
  - 1976 Whitfield Diffie ve Martin Hellman Açık Anahtar sistemini anlattıkları makaleyi yayınladılar. 
  - 1978'de Ronald L. Rivest, Adi Shamir ve Leonard M. Adleman: RSA algoritmasını buldular. 
  - 1985'te Neal Koblitz ve Victor S.Miller ayrı yaptıkları çalışmalarda eliptik eğri kriptografik (ECC) sistemlerini tarif ettiler. 
  - 1990'da Xuejia Lai ve James Massey: IDEA algoritmasını buldular. 
  - 1991'de Phil Zimmerman: PGP sistemini geliştirdi ve yayınladı. 
  - 1995'te SHA-1 (Secure Hash Algorithm) özet algoritması NIST tarafından standart olarak yayınlandı.
  - 1997'de ABD'nin NIST (National Institute of Standards and Technology) kurumu DES'in yerini alacak bir simetrik algoritma için yarışma açtı. 
  - 2001'de NIST'in yarışmasını kazanan Belçikalı Joan Daemen ve Vincent Rijmen'e ait Rijndael algoritması, AES (Advanced Encryption Standard) adıyla standart haline getirildi.