You are on page 1of 25

Simetrik Anahtarl

Kriptoloji

Temel Kavramlar
P=Plaintext: ifrelenecek ak metin
K=Key: ifreleme algoritmasna yerletirilen
anahtar
E=Encryption: ifreleme ilemi
C=Cyphertext: ifreleme ilemi sonucu elde
edilen ifreli metin
D=Decryption: ifreleme ileminin tersi.
P=Dk(C)
C=Ek(P)

Tanm
Kriptoloji, kelime anlamyla gizlilik bilimi, veri
alveriini gizlilik, btnlk, kimlik denetimi ve
inkar edememezlik ilkeleri ile salayan,
kriptografi ve kriptanaliz dallarn kapsayan,
matematik, bilgisayar ve elektrik
mhendisliinin alma alanna giren disiplinler
aras bir bilim daldr. Tarihteki ilk kriptografik
alma, Sezarn icat ettii, karakterlerin
alfabetik sralarnn belli bir sayda
ilerletilmesine dayanan bir Sbstitsyon
algoritmas olan ROT olarak kabul edilir.

Simetrik (Gizli) Anahtar


Simetrik (gizli) anahtarl sistemlerde, ak
metin, ifreleme algoritmas ile gizli bir
anahtar kullanlarak ifrelenir.
ifre zme algoritmas da bu gizli anahtar
kullanarak ifreli metni ak metne evirir.
Simetrik anahtarl sistemlerde algoritmann
bilinmesi, anahtar gizli kald srece bir
anlam ifade etmez.

Blok ve Akan ifreler


Simetrik Anahtarl algoritmalar, ak metnin nasl
ilendiine gre blok ve akan ifrelere olarak ikiye ayrlr.
Blok ifrelerde ak metin eit uzunlukta bloklara ayrlarak
bir E fonksiyonu ile ifrelenir.
Akan ifrelerde ise metnin her karakteri zamanla deien
bir fonksiyon ile tek tek ifrelenir. Yani her ifreleme
ilemindeki ilem, bir nceki ifrelemeye baldr. Yani her
ifreleme ileminden nce, bir nceki karakterin
ifrelenmesinden kan sonu anahtar olarak kullanlabilir,
ya da anahtardan bir sonraki anahtar retilebilir. Kullanlan
deiken anahtarlara anahtar aklar denir.

Kerckhoffun deal ifre


Yasalar
Hollandal dilbilim profesr ve kriptolog Auguste Kerckhoff, 1883te yaynlad La Cryptographie Militaire adl
kitabnda, ifreleme algoritmas olutururken izlenecek, gnmzde de geerli 6 prensip belirledi.
1)

2)

3)

4)
5)

6)

ifreleme yntemi, teorik olarak krlamayaca ispat edilemese dahi, pratikte krlamaz olmaldr. Gnmzde,
teorik olarak krlamayaca ispat edilmi tek ifreleme yntemi tek kullanmlk erit (One-Time Pad) ya da dier
adyla Vernam yntemidir. Eer ak metin tek kullanmlk, rastgele, tekrarsz, metinle ayn boyutta bir anahtarla
modler toplama (rn. mod 2de eXclusive OR kaps) yaplarak ifrelenirse, ifreli metin, anahtar bilinmedike
ak metin hakknda hibir bilgi vermeyecektir. Fakat bu yntem de, kimlik dorulamann imkansz olmas,
aritmetik kullanlarak yalnzca szderastsal saylar retilebilmesi ve anahtar datmnn zor olmas sebebiyle
gnmzde kullanlmaz.. Bunun dnda, ok zor matematik problemlerinden (rn. ok byk saylarn asal
arpanlarna ayrlmas) faydalanarak hazrlanan algoritmalar gnmz bilgisayarlar tarafndan krlamamaktadr.
ifreleme algoritmas aa ksa dahi, anahtar gizli kaldka algoritma gvenli olmaldr. Nitekim gnmzde
kullanlan metotlarn algoritmalar kullanlmaya balanmadan nce aklanp test edilmektedir. Bu prensip, tek
bana Kerckhoff prensibi olarak bilinir. Bu prensip bilgi kuramnn kurucusu Shannonun ad ile de bilinir. Bunun
tersi bilinmezlik yoluyla gvenlik olarak isimlendirilmektedir ve bu ekilde alan algoritmalardan hibiri
gnmzde NSA onayl deildir.
Anahtar kelime, depolanmas, kullanlmas ya da aktarlmas konusunda zorluk karmayacak boyutta olmaldr.
Fakat baz algoritmalarda (DES) 56 bite kadar olan anahtarlar, Brute-Force (kaba kuvvet) saldrsyla, yani btn
olas anahtarlar teker teker denenerek gnmz bilgisayarlar tarafndan ksa srede krlabilmektedir.
ifrelenen metin, mmkn olan en ok iletiim medyumuyla iletilebilecek biimde olmaldr.
ifreleme aparat nn tanmas kolay olmaldr. Gnmzde ifreleme bilgisayarlar ile yapldndan, gizlilik
salamak amacyla saha ajanlar ifreleme algoritmasnn BASIC dilinde nasl kodlandn ezberlemekte ve her
kullanmda program batan yazmaktadrlar.
ifreleme algoritmas mmkn olduu mddete ksa ve basit olmaldr. Gnmzde, bu prensip, algoritmann
hata paynn dk olmas olarak deitirilmitir.

Shannon Teorisi
Bilgi biliminin kurucusu Claude Shannon, Gizli Sistemlerde letiim Teorisi adl 1949
tarihli makalesinde, gvenli ifreleme algoritmalarnda kartrma ve datma adl iki
ilem tanmlamtr.
Kartrma (Confusion) ilemi, anahtardaki her karakterin, ifreli ak metinde birden
fazla karakterle etkileim iinde olarak ifreli metinde birden fazla karakteri
deitirmesini salar. Yani ifreli metin ile simetrik anahtar arasndaki ilikinin
olabildiince karmak olmas gerekmektedir. Datma ilemi de, ak metindeki her
karakterin, ifreli metinde birden fazla karakter ile bal olmasn salar. Yani ak
metnin istatistiksel yaps, ifreli metinde olabildiince dalmak durumundadr.
Bunun iin basit ifreleme ilemleri birletirilerek birleik ifreleme metotlar
oluturulur.
Girdide (anahtar kelime ya da ak metin) tek bir bitlik deiime karn ktda (ifreli
metin) daha byk boyutlu bir deiim elde edilmesine etkisi denir. Bu
kriptografik algoritmalar, zellikle rp fonksiyonlar ve blok ifreleme algoritmalar
iin istenen bir durumdur. Gnmz kriptografik algoritmalarnda kriter olarak girdide
bir bitlik deiim iin, ktdaki her bitin %50 deime ihtimalinin bulunmas
beklenmektedir.

Sbstitsyon (Yer Deitirme) ifresi


Sbsitsyon ilemleri, girdideki karakterlerin, belirli bir
algoritma ile baka karakterler ile deitirilmesini salar.
Sbstitsyon ifrelerine rnek olarak afin ifreleme verilebilir.
Bunun iin her harfe atanan saysal deer, dorusal bir
fonksiyona sokulur ve ktnn mod 26daki deeri ifreli
metne yazlr. Gnmzde dorusal fonksiyonlar kullanlarak
yaplan ifrelemeler frekans analizi ile krlabilmektedir. Baka
bir yol ise, S-Box ad verilen tablolar kullanmaktr. rnein
DES algoritmasndaki 8 S-Boxtan birinde, 6 bitlik girdilerden,
dtaki 2 ve iteki 4 bitlik paralarna gre 4 bitlik ktlar elde
edilir. Fakat DES algoritmasnn zayf noktasn
oluturmaktadrlar, zira yalnzca gelitiriciler tarafndan
algoritmay suiistimal etmek iin yerletirilen arka kaplar
(ifreyi krmak iin kullanlabilecek aklar) bulunmaktadr.

Sbstitsyon ifrelerinin
Krlmas
Sbstitsyon ifrelemeleri, frekans analizi ad verilen metotla
krlabilir. Bunun iin dilde en sk kullanlan harfler, iki harflik
ve harflik dizilere baklr. Metnin uzunluu arttka,
gvenlii azalr. Sezar ifresinde metin dorudan bulunurken,
Vigenre ifresinde ilk olarak anahtar kelimenin uzunluu
bulunmaldr, fakat klasik frekans analizi ie yaramayacaktr.
ifre uzunluu N ise, her Ninci karakter ayn harfle
ifrelenmitir. Daha sonra bu karakterlerin her birine teker
teker frekans analizi uygulanr. Anahtarn karmakln
artrmak iin rasgele, metin uzunluunda anahtarlar
kullanlabilir ya da ifresiz metnin kendisi kaydrlarak
anahtar haline getirilebilir. Fakat bu metotlar kullanm iin
pratik deildir. Karmak Vigenre ifrelerini krmak iin Fark
Motoru gerekmektedir.

Transpozisyon (Permtasyon) ifresi


Transpozisyon ifrelemesi, Sbstitsyon
ifrelemesinin aksine ifreli metni
olutururken karakterleri deil, rten bir
fonksiyon ile sralarn deitirir. rnein
stunsal transpozisyon tekniinde anahtar
kelimenin harf says stnlarn saysn,
harflerin saysal deerlerinin sralamas ise
ifreli metinde stunlarn yazlma srasn
verir. Glendirmek iin baka bir anahtarla
ikinci bir transpozisyon ilemi yaplabilir.

Transpozisyon (Permtasyon)
ifrelerinin Krlmas
Transpozisyon ifreleri karakter
frekansn deitirmediinden,
anagramlar yardmyla krlabilir.
Frekans analizi yapldnda kan
sonu, dilin kendisiyle rtyorsa
ifrenin bir transpozisyon ifresi olduu
anlalr.

SBSTTSYON-PERMTASYON
ALARI
Bir sbstitsyon-permtasyon anda,
girdi blou, her raundda, ktyla XOR
ilemine tabii tutulan anahtar
deitirmek suretiyle ok katmanl
Sbstitsyon-Permtasyon ilemine
sokularak, elde edilen kt blounda
karklk ve danklk elde edilir.

FESTEL AI
Adn Horst Feistelden alan ifreleme metodudur. Girdinin
bitlerinin yerinin deitirilmesi (permtasyon), basit
dorusal olmayan bir F fonksiyonunun icras (substitsyon)
ve dorusal kartrma (XOR) ilemlerinin eitli sralarda,
eitli saylarda tekrarlanmas ile karklk ve danklk elde
edilmesi esasna dayanr. E ve D ilemleri birbirine ok
benzer. Gnmzdeki birok blok ifreleme algoritmas
Feistel A metodunu kullanr. Balang iin n bitlik girdi, n/2
bitlik iki paraya blnr, ilk nce bu paralardan biri F
fonksiyonuna yerletirilerek dierinin ak haliyle XOR
ilemine tabi tutulur. Daha sonra dier para F fonksiyonuna
yerletirilir ve XOR ilemi tekrar edilir. Bu ilem, rnein DES
algoritmasnda 16 kere tekrarlanmaktadr.

XOR LEM
XOR (eXclusive OR, yahut, zel veya)
ilemi, ikili tabanda iki bitin birbirinden
farkl olup olmadn kontrol eden
ilemdir. Mod 2de toplama ilemi
olarak da grlebilir. Girdiler ayn ise 0,
farkl ise 1 sonucu verecektir.

Tek Ynl Fonksiyonlar


Tek ynl fonksiyonlar, ya da kilit
fonksiyonlar, tersi olmayan
fonksiyonlardr. Yani fonksiyonun
sonucundan fonksiyona sokulan say
bulunamaz. Bu tarz fonksiyonlar,
modler aritmetik, ayrk logaritma,
arpanlara ayrma ve elipsel eri
zorluklar kullanlarak oluturulur ve
ifreleme konusunda olduka
gvenlidirler.

Elik Biti Kontrol (Parity Bit


Check)
n bitlik bir dizinin bit deerlerinin
toplam tek ise 1, ift ise 0 biti de bu
diziye eklenerek n+1 bitlik bir dizi elde
edilir. Mesaj alan taraf, elik biti ile, ilk
n bitin toplamn karlatrarak,
mesajda bir sorun olup olmadn
anlayabilir.

Blok ifre alma Kipleri


Blok ifreler, farkl operasyon modlarnda kullanlarak, blnen farkl bloklarn nasl birbirinden farkl ekilde
ifrelenecei belirlenebilir.
Elektronik kod defteri (ECB) modunda, ak metin bloklara blnr ve her blok ayr ayr ifrelenir. Bloklar
arasnda bir iliki sz konusu deildir ve ifreli metin, bloklarn ifrelenmi hallerinin birletirilmesiyle elde edilir.
ifre blok zincirlemesi (CBC) modunda, ilk blok, balang vektr (Initialization Vector) ile, sonraki her blok, bir
nceki bloun ifrelenmi haliyle XOR ilemine tabi tutulur.
Yaylml ifre blok zincirlemesi (PCBC) modunda, ifrelenen her blok, kendinden nceki bloa baldr, bu
ekilde bloklar teker teker analiz edilemez. CBCden fark ise bir nceki bloun sadece ifreli halinin deil, ifreli
haliyle ak halinin XOR ilemine sokulmasndan sonucun bir sonraki blok ile XOR ilemine tabi tutulmasdr.
ifre geri beslemeli (CFB) modda, ilk olarak balang vektr ifreleme algoritmasna sokulur. Elde edilen
ifreli IV, ilk ak blok ile XOR ilemine tabi tutulur. Bu ilemin sonucu olan ifreli blok, balang vektr gibi,
ifreleme algoritmasna sokularak bir sonraki ak blok ile XOR ilemine tabi tutulacaktr.
kt geri beslemeli (OFB) modda, balang vektrnn ifreli hali, ak bloklarla XOR ilemine tabi tutulur ve
bir sonraki ak blok iin tekrar ifreleme algoritmasna sokulur.
Blok ifreler, saya (CTR) modunda altrlarak, ak metin zamanla deien girdiler ile elde edilen anahtar
aklar ile ifrelenir. kt geri beslemeli moda benzer alr lakin balang vektr yerine, rastgele saylar
kullanlr.

Szde Rastsal Saylar (PRN)


Kriptolojide, anahtar retimi iin rastgele saylar kullanlr. Fakat matematiksel bir ilemler
dizisiyle hibir zaman tamamiyle rastgele saylar retilemeyeceinden, retilen saylar
Pseudo-random ya da szde-rastsal olarak isimlendirilir. Bir szde rastsal say retecinin
(PRNG), kriptolojik olarak gvenli saylmas iin (CSPRNG), rettii dizinin k. terimine
kadar btn terimleri bilinse dahi, bir k+1. terimin bulunma ihtimalinin %50den az olmas
gerekmektedir. Ayn ekilde algoritmas renilen bir PRNGnin, algoritma zlmeden
nce retilen basamaklarnn bulunamamaldr. Bir PRNGnin periyodu, yani kt dizisinin
tekrar etmeye balama aral geni olmaldr.
Blok ifreleme algoritmalar CTR modunda altrldklar takdirde PRNG olacak ekilde
kullanlabilirler. Benzer ekilde, ou CSPRNGlerin ak metinle XOR ilemine tabi
tutulmas ile alan akan ifre algoritmalarnn sonular tekrar algoritmaya girdi olarak
sokulduunda, ilkinden daha byk periyotlu bir PRNG elde edilecektir.
PRNGler iin girdi seilirken dikkatli olunmaldr. ou bilgisayarda bu ilem iin ilem
kimlik numaras (PID) seilir, fakat rnein 32-bit Linux iletim sisteminde yalnzca 32768
adet ilem kimlik numaras atanabildiinden olduka kk periyotlu bir kt alnacaktr.
Gerek ratsal saylar (TRN) retmek iin, kuantum fiziinde rastlantsal kabul edilen atom
alt paracklarn hareketleri, atmosferik ses gibi veriler kullanlabilir.

Vigenre ifresi
Vigenre ifresi, 1553te icat edilip ancak icadndan 300 yl
sonra, Babbage tarafndan krlabilen bir Polialfabetik
Sbstitsyon algoritmasdr ve Simetrik Algoritmalara bir
rnektir.
Vigenre ifresinde ilk olarak Alfabedeki harflerin ikierli
ekilde sralarna gre saysal deerlerinin toplanmasndan
oluan bir tabula recta hazrlanr. Seilen anahtar, ak
metnin altna yerletirilir. Ak metindeki her karakterin
saysal deeri, anahtarda eletii harfinki ile toplanarak
ifreli metnin karakterleri ortaya kar.
Ci=Ek(Pi)=(Pi+Ki) mod 26
Pi=Dk(Ci)=(Ci-Ki) mod 26

Nihilist ifresi
Nihilist ifresi, 1880li yllarda, ar II. Alexandern
suikasti ile nlenmi Nihilist rgtnn kulland bir
simetrik ifreleme algoritmasdr.
Nihilist ifrelemesinde ilk olarak kark bir alfabe
kullanlarak bir Polybius karesi oluturulur. Daha sonra
hem ak metnin, hem de anahtar kelimenin her
karakterinin Polybius karesindeki saysal karlklar
toplanarak iki ve basamakl saylardan oluan bir
ifreli metin elde edilir.
Nihilist ifresi, Vignere ifresine benzer metotlar ile
krlabilir. Ayrca Vignere ifresinin aksine modler
toplama yerine normal toplama ilemi yaplmas da bir
zayflktr, zira standart bir 5x5 Polybius karesi kullanlrsa

VIC ifresi
VIC ifresi, VICTOR kod adl Sovyet Ajan Reino Hyhnen tarafndan gelitirilmi, yalnzca kat-kalem kullanlarak
ifreleme yaplabilen bir algoritmadr. 1953ten Reino Hyhnenin ABD tarafna gemesine kadar krlamam,
hatta bilgisayar ile yaplan bir ifreleme olduu dnlmtr. Kkeni Nihilist ifresine dayanmaktadr.
lk olarak o gnn tarihine, GGAAYY eklinde bir saysal deer atanr ve bu deer 5 basamakl olacak ekilde
kltlr. Daha sonra 5 basamakl rasgele bir indikatr belirlenir. Bu iki saydan kk olan byk olandan
karlr. Daha sonra 20 harflik bir cmle ikiye blnerek iki paradaki tm harflere alfabetik deerlerine gre bir
rakam atanr. karma ileminin sonucundan, zincirleme toplama ad verilen bir ilemle 10 haneli bir say elde
edilir. Bunun iin ilk nce saynn ilk iki basama toplanr, toplama ileminin sonucunun birler basama saynn
birler basamana yerletirilir ve bu ilem her seferinde toplanan basamaklardan en soldaki bir sonraki toplama
ilemi iin ihmal edilecek ekilde tekrarlanr. Elde edilen on basamakl say, anahtar cmlenin ilk yarsndan elde
edilen 10 basamakl sayyla, eldeler ihmal edilecek ekilde toplanr. Anahtar cmlenin ikinci yarsndan elde edilen
10 basamakl saynn basamaklarna, basamak deeri en byk olan sayya 1, en kk olan sayya 0 gelecek
ekilde deerler atanr. Bu dizideki saylarn sras, nceki toplama ileminde elde edilen 10 basamakl saynn, bir
nceki eletirme ilemindeki karlklarna gre deitirilir. Elde edilen yeni 10 basamakl saydan, zincirleme
toplama ilemi yaplarak 50 basamaklk szderastsal bir say elde edilir. Bu saynn son 10 basamann
rakamlarna tekrar byklklerine gre 1-0 aras deerler atanr ve elde edilen yeni 10 basamakl say, bir dama
tahtasnn st satrna yerletirilir. Bu dama tahtas, bir tabula rectadan biraz farkldr. lk stuna, 10 harften az,
harf tekrar olmayan bir anahtar kelime yerletirilir. Satrlar numaralandrlmaya 2. satrdan balanr. Bu ekilde
baz harfler bir, baz harfler iki basamakl olarak kodlanacaktr. Toplam 2 Satr ve 10 stun numaralandrlm olur.
Ak metin bu harflere gre kodlanr. Daha sonra, kk bir anahtar say belirlenir. Bu say, 50 basamakl szde
rastsal saynn birbirine eit olmayan son iki basamayla teker teker toplanarak iki farkl sonu elde edilir.
Transpozisyon tablolar, kan sonular kadar satr uzunluunda hazrlanr. Bu transpozisyonlar iin gereken
anahtar, 50 basamakl szde rastsal saynn 5 satr halinde yazlmas ve bu saynn elde edildii 10 basamakl
saynn basamaklarnn rakam deerlerine gre stunsal olarak okunmas ile belirlenir. Transpozisyon tablolarnn
boyutlarnn toplam kadar basamak alnr. lk olarak bu saynn ilk toplamann sonucu kadar basama ilk satr
olarak kullanlarak basit bir stunsal transpozisyon ilemi yaplr. Bu ilem sonucu elde edilen saynn basamak
says 5in kat yaplana kadar 0 eklenir. Daha sonra, toplamann ikinci sonucuna gre farkl boyutta bir
transpozisyon tablosu hazrlanr. Bu sefer, transpozisyon tablosunun anahtarna gre, stunun en kk rakamnn
en st satrla kesitii yerden sonras bo braklr ve her satrda bir rakam daha fazla yazlarak anahtarn

You might also like