Şifre
bilginin şifrelenmesi ve şifresinin çözülmesi için algoritma / From Wikipedia, the free encyclopedia
Kriptografide, bir şifre (İngilizce: cipher veya cypher) şifreleme veya şifre çözme—bir prosedür olarak izlenebilen bir dizi iyi tanımlanmış adım gerçekleştirmek için bir algoritmadır. Alternatif, daha az yaygın bir terim şifrelemedir. Şifrelemek veya kodlamak, bilgiyi şifreye veya koda dönüştürmektir. Yaygın kullanımda "şifre", "kod" ile eş anlamlıdır, çünkü her ikisi de bir mesajı şifreleyen bir dizi adımdır; ancak kriptografide, özellikle klasik kriptografide kavramlar farklıdır.
Kodlar genellikle çıktıdaki farklı uzunluktaki karakter dizilerini değiştirirken, şifreler genellikle girilenle aynı sayıda karakteri değiştirir. Bir kod, bir anlamı diğeriyle eşler. Kelimeler ve ifadeler harf veya sayı olarak kodlanabilir. Kodlar tipik olarak girdiden anahtara doğrudan bir anlama sahiptir. Kodlar öncelikle zaman kazanmak için işlev görür. Şifreler algoritmiktir. Verilen girdinin çözülmesi için şifrenin sürecini takip etmesi gerekir. Şifreler genellikle yazılı bilgileri şifrelemek için kullanılır.
Kodlar, rastgele bir karakter veya sayı dizisini bir kelime veya ifadeye bağlayan büyük bir kod kitabına göre değiştirilerek çalıştırılır. Örneğin, "UQJHSE" "Aşağıdaki koordinatlara ilerleyin" için bir kod olabilir. Bir şifre kullanıldığında orijinal bilgi düz metin, şifrelenmiş hali ise şifreli metin olarak bilinir. Şifreli metin mesajı, düz metin mesajının tüm bilgilerini içerir, ancak şifresini çözmek için uygun mekanizma olmadan bir insan veya bilgisayar tarafından okunabilir bir formatta değildir.
Bir şifrelemenin çalışması genellikle anahtar (ya da geleneksel NSA dilinde "kriptovariable") adı verilen bir yardımcı bilgiye bağlıdır. Şifreleme prosedürü, algoritmanın ayrıntılı çalışmasını değiştiren anahtara bağlı olarak değişir. Bir mesajı şifrelemek için bir şifre kullanmadan önce bir anahtar seçilmelidir. Anahtarın bilgisi olmadan, elde edilen şifreli metnin şifresini çözerek okunabilir düz metne dönüştürmek imkansız olmasa bile son derece zor olmalıdır.
Modern şifrelerin çoğu çeşitli şekillerde kategorize edilebilir:
- Genellikle sabit boyuttaki sembol blokları (blok şifrelemeler) veya sürekli bir sembol akışı (akış şifrelemeleri) üzerinde çalışıp çalışmadıklarına göre.
- Hem şifreleme hem de şifre çözme için aynı anahtarın kullanılıp kullanılmadığına (Simetrik anahtar algoritmaları) veya her biri için farklı bir anahtarın kullanılıp kullanılmadığına (asimetrik anahtar algoritmaları) göre. Algoritma simetrik ise, anahtar alıcı ve gönderici tarafından bilinmeli ve başka hiç kimse tarafından bilinmemelidir. Algoritma asimetrik ise, şifreleme anahtarı deşifreleme anahtarından farklıdır, ancak onunla yakından ilişkilidir. Anahtarlardan biri diğerinden çıkarılamıyorsa, asimetrik anahtar algoritması açık/özel anahtar özelliğine sahiptir ve anahtarlardan biri gizlilik kaybı olmadan açık hale getirilebilir.