Kriptografiye Küçük bir Giriş
|
TÜRKİYE
KRİPTOGRAFİ
SAYFALARI
|
Bu yazının amacı çağdaş şifreyazımı sade bir şekilde açıklamaktır.
Yazıyı anlamak için matematik veya bilgisayar bilgisi gerekmemese de, logaritmanın
ve bit'in ne olduğunu bilmekte yarar var. Şifreyazım hakkında bildiklerimi
Internet'te kolayca erişilebilen çeşitli yazılardan öğrendim. Kriptografi
ile ilgili bilgileri
buradan aramaya başlayabilirsin; kısa bir şifreyazım terimleri sözlüğü
için buraya göz atabilirsiniz.
Kriptografi, kriptoloji, kriptanaliz nedir ?
Kriptografinin Türkçe adı şifreyazımdır. Kriptografi yunanca gizli anlamına
gelem "kript" ve yazı anlamına gelen "graf"'dan türetilmiştir. Kriptoloji
ise şifrebilimdir. Şifre kelimesi ise fransızcadaki "chiffre" yani sayı
kelimesinden gelmektedir. Bu sayfalarda şifrebilim, şifreyazı gibi kelimeleri
kullanacağız. METU ve Bilkent'teki Türkiye Bilgisayar Terimleri sözlüklerindeki
kriptografi ile ilgili çevirilere buradan
erisebilirsiniz.
İ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üzyü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
[1]. 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 onlarce bilgisayardan
geçtiğine göre, mektuplarımızın gizliliği bu bilgisayardan sorumlu kişilerin
insafına kalmıştır [2]. Doğal olarak bilgisayar ortamındaki
verilerin okunup okunmadığına dair hiç bir şey bilmemiz mümkün değildir
[3]. 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.
Şifreyazı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 inceliyelim. 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 parametrlenebilir 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)[4]
Düşünülebilinecek 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, şeritin 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; şeritin
ü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, şeriti aksi yönde çevirerek gerçekleştiririz.
Tabi şifreyi çözebilmek için, Ayşe ile Burağın birbirlerine gizlice n
sayısını iletmeleri gerekir.
Örnek olarak latin alfabesiyle, n=13 parametresiyle şifrelenmiş
bir Sezar Şifresini şekil 1'de görebilirsiniz.
0 1 2
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"
|
Şekil 1. Ö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 deniyebiliriz. Bilgisayara çözdürmek sadece
bir kaç mikrosaniye alır. Simetrik bir şifreyi çözmek için anahtar değerlerini
teker teker deneme yöntemine, ingilizce "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ğerlendirken 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 [8]. 40 bitlik
bir anahtar için n=240 veya n=1 099 511 627 776
(bir trilyon doksan dokuz milyar beşyüz onbir 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ütevazi bir
bilgisayar laboratuvarı olan bir öğrenci tarafından 3 buçuk saatte bulundu
[5].
Kaç bitlik bir anahtar güvenlidir ?
Anahtarın deneme-yanılma yöntemiyle buluması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 deniyebilen 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, şifrebilimin (kriptolojinin)
temel etkenlik alanıdır. Şifreyazı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üsmanın şifrelerini çözmekle uğraşan teknisyendir. Kriptolog
ise şifrebilimcidir.
Nazilerin 1940-1944 savaşında kullandıkları ünlü Enigma şifreleme makinası
[6] 116 bitlik bir anahtar uzunluğuna sahipti. Yani bugünün sağlan şifrelerinin
kullandıkları boyda idi. Buna rağmen, savaşta şifrebilimcilik yapan bilgisayar
biliminin babası ingiliz 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
makinalarından bile kat kat daha yavaş olduğunu gözardı 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 ingilizce (veya almanca
veya italyanca) 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 metin'den çı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 1. 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 istastistiğini
hesplamak 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ğı 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 şifrebilim ü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 şifrebilimcilerin sınırlı kaynaklarla yaptıkları çözme girişimlerinden
başka bilgi kaynağımız yok.
Şifrebilimciler 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 şifrebilim 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.[7]
Ş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 çozmek 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 2. Ö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 ediceğ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 Burağ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 Burağın
anahtarını temin edip doğruluyabilir.
Sayısal İmzalar
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
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.
Hibrid Kriptosistemler
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 kriptosistemlerin
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 [9].
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 parmakizini 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 |
Ek 1. Çeşitli simetrik şifreleme algoritmaları hakkında bilgiler.
Dipnotlar ve Kaynaklar
[1] Quantum kriptografisiyle iletişimin dinlenip dinlenmediği
anlaşılabilir.
[2] Veri trafiğinin yoğun olduğu kavşaklara yerleştirilen
dinleyici programlarla, bir ülkenin internet iletişimi gayet güzel gözetlenebilir
(özellikle o ülkenin internet ağı merkezileşmiş bir yapıya sahipse).
[3] Sanal mühürler açık anahtar kriptografisiyle yapılabilir.
[4] Simetrik nitelemesi asimetrik şifreleme yöntemlerinin
bulunmasından sonra konuldu.
[5] Bkz. Breaking the RSA Challenge
[6] Enigma, daktiloya benzeyen elektromekanik bir
aygıttı. Bkz. Enigma bibliyografisi,
Tarihi Kriptografi
[7] Tek kullanımlık şerit için modulo 2 yani
ikil (binary) aritmetik kullanmak kanıtı ve açıklamayı kolaylaştırabilir
ama mesjların bit olarak kodlanmasını anlatmak gerekeceğinden tamsayılar
kullanarak anlatmanın daha mantıklı olacağını düşünüyorum.
[8] Bu özellikle Netscape gibi web browserlarda
göze batmaktadır. Bkz. ITAR Export Regulations
[9] 500 ile 2000 bit arasındaki bir sayı, sayı olarak
çok büyüktür; fakat 2000 bit'lik bir mesaj (yani karakter zinciri) çok
kısadır (yaklaşık 3-5 satır tutar).
Son değişiklik tarihi:
28.02.1999 17:02
Bu sayfaların içeriğini değistirmediğiniz ve yazarların
isimleri ile bu notu kaldırmadığınız sürece ve ticari amaçlı olmadığı sürece dilediğiniz
yerde kullanabilirsiniz; yayınlanan mektuplar için yazlarından izin almanız gereklidir.