tag:blogger.com,1999:blog-85265715531604119272024-03-13T12:48:01.028-07:00Şifre ProBahadır Şaylanhttp://www.blogger.com/profile/01441014490476108121noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-8526571553160411927.post-22411156921467966242012-07-19T23:34:00.001-07:002012-07-19T23:34:10.940-07:00AES-256 Şifreleme<br />
<div style="font-family: sans-serif; font-size: 13px; line-height: 19px; margin-bottom: 0.5em; margin-top: 0.4em;">
</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
<b>AES</b> (<b>A</b>dvanced <b>E</b>ncryption <b>S</b>tandard; <i>Gelişmiş Şifreleme Standardı</i>), elektronik verinin şifrelenmesi için sunulan bir standarttır. Amerikan Hükümeti tarafından kabul edilen AES, uluslararası alanda da defacto <a class="mw-redirect" href="http://tr.wikipedia.org/wiki/%C5%9Eifreleme" style="background-color: transparent; color: #552200; padding: 0px !important;" title="Şifreleme">şifreleme</a> (kripto) standardı olarak kullanılmaktadır. <a href="http://tr.wikipedia.org/wiki/DES" style="background-color: transparent; color: #552200; padding: 0px !important;" title="DES">DES</a>'in (Data Encryption Standard - Veri Şifreleme Standardı) yerini almıştır. AES ile tanımlanan şifreleme algoritması, hem şifreleme hem de şifreli metni çözmede kullanılan anahtarların birbiriyle ilişkili olduğu, simetrik-anahtarlı bir algoritmadır. AES için şifreleme ve şifre çözme anahtarları aynıdır.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
AES, ABD Ulusal Standart ve Teknoloji Enstitüsü(<a class="mw-redirect" href="http://tr.wikipedia.org/wiki/NIST" style="background-color: transparent; color: #552200; padding: 0px !important;" title="NIST">NIST</a>) tarafından 26 Kasım 2001 tarihinde US FIPS PUB 197 kodlu dokümanla duyurulmuştur. Standartlaştırma 5 yıl süren bir zaman zarfında tamamlanmıştır. Bu süreçte AES adayı olarak 15 tasarım sunulmuş, tasarımlar güvenlik ve performans açısından değerlendirildikten sonra en uygun tasarım standart şifreleme algoritması olarak seçilmiştir. Federal hükumetin Ticaret Müsteşarının onayının ardından 26 Mayıs 2002 tarihinde resmi olarak etkin hale gelmiştir. Halihazırda birçok şifreleme paketinde yer alan algoritma Amerikan Ulusal Güvenlik Teşkilatı(<a class="mw-redirect" href="http://tr.wikipedia.org/wiki/NSA" style="background-color: transparent; color: #552200; padding: 0px !important;" title="NSA">NSA</a> -National Security Agency) tarafından çok gizli bilginin şifrelenmesinde kullanımı onaylanan kamuya açık ilk şifreleme algoritmasıdır.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
AES ile standartlaştırılan algoritma, esas olarak <a class="new" href="http://tr.wikipedia.org/w/index.php?title=Vincent_Rijmen&action=edit&redlink=1" style="background-color: transparent; padding: 0px !important; text-decoration: inherit !important;" title="Vincent Rijmen (sayfa mevcut değil)">Vincent Rijmen</a> ve <a class="new" href="http://tr.wikipedia.org/w/index.php?title=Joan_Daemen&action=edit&redlink=1" style="background-color: transparent; padding: 0px !important; text-decoration: inherit !important;" title="Joan Daemen (sayfa mevcut değil)">Joan Daemen</a> tarafından geliştirilen <a class="new" href="http://tr.wikipedia.org/w/index.php?title=Rijndael&action=edit&redlink=1" style="background-color: transparent; padding: 0px !important; text-decoration: inherit !important;" title="Rijndael (sayfa mevcut değil)">Rijndael</a> algoritmasında bazı değişiklikler yapılarak oluşturulmuştur. Rijndael, geliştiricilerin isimleri kullanılarak elde edilen bir isimdir: <b>RIJ</b>men a<b>N</b>d<b>DAE</b>men.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
AES hakkında önemli bir nokta AES'in şifreleme standardının ismi olmasıdır. Ancak, pratik kullanımda AES, standartta belirilen şifreleme algoritmasının yerine geçecek şekilde kullanılmaktadır. Kolaylık ve literatürle uyumlu olması açısından bu dokümanda da standartta belirtilen algoritma AES olarak anılacaktır.</div>
<table class="toc" id="toc" style="background-color: #f9f9f9; border: 1px solid rgb(170, 170, 170); color: black; font-family: 'Times New Roman'; padding: 5px;"><tbody>
<tr><td><div id="toctitle">
<h2 style="overflow: hidden; page-break-after: avoid;">
Konu başlıkları</h2>
</div>
<ul style="list-style-type: square; margin-bottom: 0.5em;">
<li class="toclevel-1 tocsection-1"><a href="http://tr.wikipedia.org/w/index.php?title=AES&printable=yes#Algoritman.C4.B1n_Genel_Yap.C4.B1s.C4.B1" style="background-color: transparent; color: #552200; padding: 0px !important;"><span class="tocnumber">1</span> <span class="toctext">Algoritmanın Genel Yapısı</span></a><ul style="list-style-type: square; margin-bottom: 0.5em;">
<li class="toclevel-2 tocsection-2"><a href="http://tr.wikipedia.org/w/index.php?title=AES&printable=yes#Algoritman.C4.B1n_Tan.C4.B1m.C4.B1" style="background-color: transparent; color: #552200; padding: 0px !important;"><span class="tocnumber">1.1</span> <span class="toctext">Algoritmanın Tanımı</span></a><ul style="margin-bottom: 0.5em;">
<li class="toclevel-3 tocsection-3"><a href="http://tr.wikipedia.org/w/index.php?title=AES&printable=yes#BaytDe.C4.9Fi.C5.9Ftir.28SubBytes.29_Ad.C4.B1m.C4.B1" style="background-color: transparent; color: #552200; padding: 0px !important;"><span class="tocnumber">1.1.1</span> <span class="toctext">BaytDeğiştir(SubBytes) Adımı</span></a></li>
<li class="toclevel-3 tocsection-4"><a href="http://tr.wikipedia.org/w/index.php?title=AES&printable=yes#Sat.C4.B1rKayd.C4.B1r.28ShiftRows.29_Ad.C4.B1m.C4.B1" style="background-color: transparent; color: #552200; padding: 0px !important;"><span class="tocnumber">1.1.2</span> <span class="toctext">SatırKaydır(ShiftRows) Adımı</span></a></li>
<li class="toclevel-3 tocsection-5"><a href="http://tr.wikipedia.org/w/index.php?title=AES&printable=yes#S.C3.BCtunKar.C4.B1.C5.9Ft.C4.B1r.28MixColumn.29_Ad.C4.B1m.C4.B1" style="background-color: transparent; color: #552200; padding: 0px !important;"><span class="tocnumber">1.1.3</span> <span class="toctext">SütunKarıştır(MixColumn) Adımı</span></a></li>
<li class="toclevel-3 tocsection-6"><a href="http://tr.wikipedia.org/w/index.php?title=AES&printable=yes#AnahtarEkle.28AddRoundKey.29_Ad.C4.B1m.C4.B1" style="background-color: transparent; color: #552200; padding: 0px !important;"><span class="tocnumber">1.1.4</span> <span class="toctext">AnahtarEkle(AddRoundKey) Adımı</span></a></li>
</ul>
</li>
</ul>
</li>
<li class="toclevel-1 tocsection-7"><a href="http://tr.wikipedia.org/w/index.php?title=AES&printable=yes#Algoritman.C4.B1n_.C4.B0yile.C5.9Ftirilmesi" style="background-color: transparent; color: #552200; padding: 0px !important;"><span class="tocnumber">2</span> <span class="toctext">Algoritmanın İyileştirilmesi</span></a></li>
<li class="toclevel-1 tocsection-8"><a href="http://tr.wikipedia.org/w/index.php?title=AES&printable=yes#Algoritman.C4.B1n_G.C3.BCvenli.C4.9Fi" style="background-color: transparent; color: #552200; padding: 0px !important;"><span class="tocnumber">3</span> <span class="toctext">Algoritmanın Güvenliği</span></a><ul style="list-style-type: square; margin-bottom: 0.5em;">
<li class="toclevel-2 tocsection-9"><a href="http://tr.wikipedia.org/w/index.php?title=AES&printable=yes#Bilinen_Sald.C4.B1r.C4.B1lar" style="background-color: transparent; color: #552200; padding: 0px !important;"><span class="tocnumber">3.1</span> <span class="toctext">Bilinen Saldırılar</span></a></li>
<li class="toclevel-2 tocsection-10"><a href="http://tr.wikipedia.org/w/index.php?title=AES&printable=yes#Yan_kanal_Sald.C4.B1r.C4.B1lar.C4.B1" style="background-color: transparent; color: #552200; padding: 0px !important;"><span class="tocnumber">3.2</span> <span class="toctext">Yan kanal Saldırıları</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-11"><a href="http://tr.wikipedia.org/w/index.php?title=AES&printable=yes#Test_De.C4.9Ferleri" style="background-color: transparent; color: #552200; padding: 0px !important;"><span class="tocnumber">4</span> <span class="toctext">Test Değerleri</span></a></li>
<li class="toclevel-1 tocsection-12"><a href="http://tr.wikipedia.org/w/index.php?title=AES&printable=yes#Performans" style="background-color: transparent; color: #552200; padding: 0px !important;"><span class="tocnumber">5</span> <span class="toctext">Performans</span></a></li>
</ul>
</td></tr>
</tbody></table>
<h2 style="font-family: 'Times New Roman'; line-height: normal; overflow: hidden; page-break-after: avoid;">
<span class="mw-headline" id="Algoritman.C4.B1n_Genel_Yap.C4.B1s.C4.B1">Algoritmanın Genel Yapısı</span></h2>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
AES, Değiştirme-Karıştırma(Substutition-Permutation) olarak bilinen tasarım temeline dayanır. Öncülü DES ise <a class="new" href="http://tr.wikipedia.org/w/index.php?title=Feistel&action=edit&redlink=1" style="background-color: transparent; padding: 0px !important; text-decoration: inherit !important;" title="Feistel (sayfa mevcut değil)">Feistel</a> yapıda tasarlanmış bir algoritmadır.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
AES'in hem yazılım hem de donanım performansı yüksektir. 128-bir girdi bloğu, 128,192 ve 256 bit anahtar uzunluğuna sahiptir. AES'in temel alındığı Rijndael ise 128-256 bit arasında 32'nin katı olan girdi blok uzunluklarını ve 128 bitten uzun anahtar uzunluklarını desteklemektedir. Dolayısıyla, standartlaşma sürecinde anahtar ve girdi blok uzunluklarında kısıtlamaya gidilmiştir.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
AES, durum(state) denilen 4x4 sütun-öncelikli bayt matrisi üzerinde çalışır. Matristeki işlemler de özel bir sonlu cisim (finite field) üzerinde yapılmaktadır.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Algoritma belirli sayıda tekrar eden girdi açık metni, çıktı şifreli metne dönüştüren özdeş dönüşüm çevirimlerinden (round) oluşmaktadır. Her çevirim, son çevirim hariç, dört adımdan oluşmaktadır. Şifreli metni çözmek için bu çevirimler ters sıra ile uygulanır. Çevirimlerin tekrar sayıları 128-bit, 192-bit ve 256-bit anahtar uzunlukları için sırası ile 10,12 ve 14'tür.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
<br /></div>
<h3 style="font-family: 'Times New Roman'; line-height: normal; overflow: hidden; page-break-after: avoid;">
<span class="mw-headline" id="Algoritman.C4.B1n_Tan.C4.B1m.C4.B1">Algoritmanın Tanımı</span></h3>
<ul style="font-family: 'Times New Roman'; font-size: medium; line-height: normal; list-style-type: square; margin-bottom: 0.5em;">
<li><i>AnahtarOluştur (Key Expansion)</i> - Esas anahtar kullanılarak algoritmanın çevirimlerinde kullanılacak çevirim anahtarları oluşturulur</li>
<li>İlk çevrim</li>
</ul>
<dl style="font-family: 'Times New Roman'; font-size: medium; line-height: normal;"><dd><ol style="margin-bottom: 0.5em;">
<li><i>AnahtarEkle(AddRoundKey)</i> - Durum, ilk çevirim anahtarı ile XORlanır.</li>
</ol>
</dd></dl>
<ul style="font-family: 'Times New Roman'; font-size: medium; line-height: normal; list-style-type: square; margin-bottom: 0.5em;">
<li>Çevirimler</li>
</ul>
<dl style="font-family: 'Times New Roman'; font-size: medium; line-height: normal;"><dd><ol style="margin-bottom: 0.5em;">
<li><i>BaytDeğiştir(SubBytes</i>) - Durum matrisindeki her bayt bir tabloya göre ve doğrusal olmayan bir dönüşümle güncellenir.</li>
<li><i>SatırKaydır(ShiftRows</i>) - Her satır belirli bir sayıda çembersel olarak kaydırılır.</li>
<li><i>SütunKarıştır(MixColumn)</i> - Her bir sütundaki dört bayt, birbirleri ile karıştırılır.</li>
<li><i>AnahtarEkle</i></li>
</ol>
</dd></dl>
<ul style="font-family: 'Times New Roman'; font-size: medium; line-height: normal; list-style-type: square; margin-bottom: 0.5em;">
<li>Son Çevirim</li>
</ul>
<dl style="font-family: 'Times New Roman'; font-size: medium; line-height: normal;"><dd><ol style="margin-bottom: 0.5em;">
<li><i>BaytDeğiştir</i></li>
<li>SatırKaydır</li>
<li><i>AnahtarEkle</i></li>
</ol>
</dd></dl>
<h4 style="font-family: 'Times New Roman'; font-size: medium; line-height: normal; overflow: hidden; page-break-after: avoid;">
<span class="mw-headline" id="BaytDe.C4.9Fi.C5.9Ftir.28SubBytes.29_Ad.C4.B1m.C4.B1">BaytDeğiştir(SubBytes) Adımı</span></h4>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
BaytDeğiştir adımında, matristeki her baytın değeri, 8 bitlik bir değişim kutusu(substitution box) kullanılarak güncellenir. Bu adım algortimanın doğrusallığını bozar ve doğrusal-olmayan(non-linear) bir dönüşüm haline gelmesini sağlar. Kullanılan değişim kutusu yüksek doğrusal-olmayanlık(non-lineariy) özelliğine sahip olduğu bilinen, sonlu cisim <b>GF</b>(<i>2<sup style="line-height: 1em;">8</sup></i>) üzerinde terd alma işleminden elde edilmiştir. Cebirsel özellikler kullanan saldırılara karşı dayanıklı olası için sonlu cisim üzerinde ters alma işlemine tersi olan doğrusal bir dönüşüm daha eklenmiştir. Ayrıca değişim kutusu herhangi bir sabit nokta veya ters sabit nokta olmayacak şekilde seçilmiştir.</div>
<h4 style="font-family: 'Times New Roman'; font-size: medium; line-height: normal; overflow: hidden; page-break-after: avoid;">
<span class="mw-headline" id="Sat.C4.B1rKayd.C4.B1r.28ShiftRows.29_Ad.C4.B1m.C4.B1">SatırKaydır(ShiftRows) Adımı</span></h4>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Matrisin satırları üzerinde çalışan bu işlem her satırdaki bayt değerlerini belirli sayıda kaydırır. AES'de ilk satır sabit kalırken 2., 3. ve 4. satırlar sırası ile 1, 2, ve 3 bayt sola kaydırılırlar. Rijndael algoritmasında ise 256-bit için bu değerler, ilk satır sabit kalacak şekilde, 1, 3 ve 4 bayttır.</div>
<h4 style="font-family: 'Times New Roman'; font-size: medium; line-height: normal; overflow: hidden; page-break-after: avoid;">
<span class="mw-headline" id="S.C3.BCtunKar.C4.B1.C5.9Ft.C4.B1r.28MixColumn.29_Ad.C4.B1m.C4.B1">SütunKarıştır(MixColumn) Adımı</span></h4>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Bu adımda her sütundaki dört bayt değeri tersi olan doğrusal bir dönüşüm kullanılarak birbirleriyle karıştırılır. SütunKarıştır fonksiyonu 4 bayt girdi alıp 4 bayt çıktı verir ve girdideki her baytın çıktıdaki her bayt değerini etkilemesini sağlar. SütunKarıştır işlemi, her sütunun sabit bir matrisle çarpılması işleminden oluşur. Bu sabit matris aşağıda verilmiştir:</div>
<dl style="font-family: 'Times New Roman'; font-size: medium; line-height: normal;"><dd>
<dl><dd><img alt="
\begin{bmatrix}
2 & 3 & 1 & 1 \\
1 & 2 & 3 & 1 \\
1 & 1 & 2 & 3 \\
3 & 1 & 1 & 2
\end{bmatrix}.
" class="tex" src="http://upload.wikimedia.org/wikipedia/tr/math/e/5/f/e5fcda9d6f88b2625706c251cc8462ed.png" style="border: none; page-break-inside: avoid; vertical-align: middle;" /></dd></dl>
</dd></dl>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Matris çarpması işlemi sonlu cisim <b>GF</b>(<i>2<sup style="line-height: 1em;">8</sup></i>) üzerinde yapılmaktadır. Her bayt bu sonlu cisim üzerinde bir polinom tanımlayacak şekilde, mod x<sup style="line-height: 1em;">4</sup>+1'de c(x) = 0x03 · x<sup style="line-height: 1em;">3</sup> + x<sup style="line-height: 1em;">2</sup> + x + 0x02 polinomu ile çarpılır. SütunKarıştır adımındaki sabit matris bir <a class="new" href="http://tr.wikipedia.org/w/index.php?title=MDS&action=edit&redlink=1" style="background-color: transparent; padding: 0px !important; text-decoration: inherit !important;" title="MDS (sayfa mevcut değil)">MDS</a> matristir ve SatırKaydır adımı ile birlikte şifrede karmaşıklık(diffusion) sağlar.</div>
<h4 style="font-family: 'Times New Roman'; font-size: medium; line-height: normal; overflow: hidden; page-break-after: avoid;">
<span class="mw-headline" id="AnahtarEkle.28AddRoundKey.29_Ad.C4.B1m.C4.B1">AnahtarEkle(AddRoundKey) Adımı</span></h4>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Bu adımda çevirim anahtarı durum matrisi ile kaynaştırılır. Çevirim anahtarı baytlara bölündükten sonra sıra ile matrisin elemanları ile XORlanır.</div>
<h2 style="font-family: 'Times New Roman'; line-height: normal; overflow: hidden; page-break-after: avoid;">
<span class="mw-headline" id="Algoritman.C4.B1n_.C4.B0yile.C5.9Ftirilmesi">Algoritmanın İyileştirilmesi</span></h2>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
32 ya da daha büyük kelime uzunluğuna sahip sistemlerde BaytDeğiştir ve SatırKaydır adımlarını SütunKarıştır adımı ile birleştirip bir tablo oluşturarak hızlanma sağlamak mümkündür. Bu işlem toplam 4 KiloBayt(4069 bayt) hafızaya kullanan 32-bitlik 256 girdili dört tablo gerektirir. Bu iyileştirme sayesinde her çevirim 16 tablo okuması ve 12 32-bit XOR işlemini takip eden AhahtarEkle, 4 32-bit XOR, adımı ile gerçekleştirilebilir.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Hedef platformun 4 KiloBaytlık tabloların gömülmesine izin vermediği durumlarda ise tek bir tablo kullanılabilir. Bu durumda 32-bitlik 256 girdisi olan bir tablo(1 KiloBayt) oluşturulur ve tablodaki değerler çembersel kaydırma yardımıyla çevirimlerde kullanılabilir.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Ayrıca, bayt-tabanlı bir yaklaşımla da BaytDeğiştir, SatırKaydır ve SütunKarıştır adımları tek bir adımda birleştirilebilir.</div>
<h2 style="font-family: 'Times New Roman'; line-height: normal; overflow: hidden; page-break-after: avoid;">
<span class="mw-headline" id="Algoritman.C4.B1n_G.C3.BCvenli.C4.9Fi">Algoritmanın Güvenliği</span></h2>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Kriptografların bakış açısından bir algoritmanın kriptografik olarak kırılması, anahtarın ya da anahtarın bazı parçalarının olası tüm anahtarların denendiği kaba kuvvet saldırısından daha hızlı bir şekilde elde edilmesi anlamına gelir. Bu açıdan, 256-bit anahtar uzunluğuna sahip AES algoritması için 2<sup style="line-height: 1em;">200</sup> işlem gerektiren bir saldırı algoritmanın kırılması olarak kabul edilirken 2<sup style="line-height: 1em;">200</sup> mertebesindeki bir işlem, şu an için, evrenin yaşından daha uzun bir süre gerektirmektedir.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
2011 yılına kadar AES'in tam çevirimine yapılan başarılı saldırılar belirli donanım gerçeklemeleri üzerinde çalışan yan-kanal saldırılarıdır. Bu tarihte Andrey Bogdanov, Dmitry Khovratovich ve Christian Rechberger tarafından kaba kuvet saldırısından yaklaşık 4 kat daha hızlı olan bir saldırı yayımlanmıştır.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
NSA, AES yarışması finalistlerini güvenlik açısından değerlendirdikten sonra bütün finalistlerin Amerikan Hükumetinin gizlilik derecesine sahip olmayan verilerinin kullanımına uygun olduğunu belirtmiştir. 2003 yılı Haziran ayında ise, AES'in gizlilik derecesine sahip bilginin şifrelenmesinde de kullanılabileceğini duyurmuştur:</div>
<blockquote style="font-family: 'Times New Roman'; font-size: medium; line-height: normal;">
<div style="line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
AES algoritmasının bütün anahtar boylarının(128,192 ve 256 bit) tasarımı ve dayanıklılığı "GİZLİ" mertebesine kadar bütün verilerin korunması için uygundur. "ÇOK GİZLİ" veriler 192 ya da 256-bit anahtar kullanımını gerektirmektedir. Ulusal Güvenlik sistemlerinin ya da bilgilerinin korunması amacını taşıyan ürünlerdeki AES uygulamaları, bu ürünlerin alımı ve kullanımından önce NSA tarafından incelenip sertifikalandırılmalıdır.</div>
</blockquote>
<h3 style="font-family: 'Times New Roman'; line-height: normal; overflow: hidden; page-break-after: avoid;">
<span class="mw-headline" id="Bilinen_Sald.C4.B1r.C4.B1lar">Bilinen Saldırılar</span></h3>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
2002 yılında AES'in sade ve basit cebirsel yapısını değerlendiren Nicolas Courtois ve Josef Pieprzyk "XSL Attack" isimli bir teorik saldırı duyurmuşlardır. Ancak daha sonra, duyurulan haliyle atağın çalışmadığını gösteren bilimsel yayınlar yapılmıştır. <a class="new" href="http://tr.wikipedia.org/w/index.php?title=XSL_attack&action=edit&redlink=1" style="background-color: transparent; padding: 0px !important; text-decoration: inherit !important;" title="XSL attack (sayfa mevcut değil)">Blok şifrelere XSL saldırısı</a>.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
AES süreci sırasında diğer tasarımcılar Rijndael'in kritik uygulamalarda kullanımına ilişkin endişelerini dile getirdilerse de yarışmadan sonra <a class="new" href="http://tr.wikipedia.org/w/index.php?title=Twofish&action=edit&redlink=1" style="background-color: transparent; padding: 0px !important; text-decoration: inherit !important;" title="Twofish (sayfa mevcut değil)">Twofish</a> algoritmasının tasarımcılarından güvenlik uzmanı <a class="new" href="http://tr.wikipedia.org/w/index.php?title=Bruce_Schneier&action=edit&redlink=1" style="background-color: transparent; padding: 0px !important; text-decoration: inherit !important;" title="Bruce Schneier (sayfa mevcut değil)">Bruce Schneier</a> Rijndael'e başarılı teorik saldırılar yapılabileceğini ancak bu saldırıların pratik hale gelebileceğine inanmadığını belirtmiştir.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
1 Temmuz 2009 tarihinde Bruce Schneier blogunda 192-bit ve 256-bit AES versiyonlarına Alex Biryukov ve Dmitry Khovratovich tarafından 2<sup style="line-height: 1em;">119</sup> işlem karmaşıklığı ile uygulanabilen ve AES'in basit anahtar oluşturma algoritmasıdan faydalanan bir ilişkili-anahtar(related-key) saldırısını duyurmuştur. Aralık 2009'da bu saldırının işlem karmaşıklığı 2<sup style="line-height: 1em;">99.5</sup>'e düşürülmüştür. Ardından Alex Biryukov, Orr Dunkelman, Nathan Keller, Dmitry Khovratovich ve Adi Shamir 9 çevirim AES-256'ya sadece iki ilişkili-anahtar kullanarak 2<sup style="line-height: 1em;">39</sup> zamanda anahtarın tamamının elde edildiği saldırıyı yayımlamışlardır. Bu saldırı 2<sup style="line-height: 1em;">45</sup> zaman karmaşıklığı ile 10 çevirime, 2<sup style="line-height: 1em;">77</sup> zaman karmaşıklığı ile 11 çevirime genişletilmiştir ancak tam çevirim AES bu ataktan etkilenmemiştir.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Kasım 2009'da 8 çevirimlik AES-128'e bilinen anahtarlı ayırt etme(distinguishing) saldırısı yayımlanmıştır. Bu saldırı AES-benzeri permütasyonlara uygulanan ribound(ya da ortadan-başla) saldırılarının geliştirilmiş bir halidir. Bu saldırının zaman karmaşıklığı 2<sup style="line-height: 1em;">48</sup>, hafıza karmaşıklığı ise 2<sup style="line-height: 1em;">32</sup>'dir.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
2010 yılının Temmuz ayında ise tasarımcılardan Vincent Rijmen, AES'e yapılan ve kriptografi camiasında da taşıdığı anlam tartışmalı olan ilişkili-anahtar saldırıları ile ilgili olarak bu saldırıları tiye alan bir makale yayımlamış, bu tür ilişkilerin her algoritmada bulunduğunu savunmuştur.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Tam çevirim AES'e yapılan ilk başarılı anahtar elde etme saldırısı Andrey Bogdanov, Dmitry Khovratovich ve Christian Rechberger tarafından yapılmıştır. Atak biclique adı verilen yapılar kullanarak 128-bit anahtarı 2<sup style="line-height: 1em;">126.1</sup>, 192-bit anahtarı 2<sup style="line-height: 1em;">189.7</sup> ve 256-bit anahtarı 2<sup style="line-height: 1em;">254.4</sup> işlem karmaşıklığı ile elde etmektedir.</div>
<h3 style="font-family: 'Times New Roman'; line-height: normal; overflow: hidden; page-break-after: avoid;">
<span class="mw-headline" id="Yan_kanal_Sald.C4.B1r.C4.B1lar.C4.B1">Yan kanal Saldırıları</span></h3>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Yan kanal saldırıları, kullanılan şifreleme algoritmalarının güvenlikleri ya da açıklarıyla ilgilenmek yerine, algoritmaların gerçeklendiği donanımlara saldırarak buradan veri sızdırmaya çalışır. Bazı AES gerçeklemelerine yapılan başarılı yan kanal saldırıları ile anahtarın elde edilmesi mümkün olmuştur.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
2005 yılında D.J. bernstein <a class="new" href="http://tr.wikipedia.org/w/index.php?title=OpenSSL&action=edit&redlink=1" style="background-color: transparent; padding: 0px !important; text-decoration: inherit !important;" title="OpenSSL (sayfa mevcut değil)">OpenSSL</a>'in AES uygulamasını kullanan bir sunucuya ön bellek-zamanlama(cache-timing) saldırısı yapmıştır. 200 milyon civarında seçilmiş açıkmetin kullanılarak yapılan saldırıda, sunucu şifreli metinle birlikte şifrele işleminin kaç işlemci saati sürdüğünü de alıcıya göndermekteydi. Bernstein, bu saldırının başarılı olması için, şifreleme süresinin sunucudan gelen kadar kesin olmasına gerek olmadığını göstermiştir.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Aynı yıl Dag Arne Osvik, Adi Shamir ve Eran Tromer, yine ön bellek-zamanlama saldırıları ile AES anahtarını 65 milisaniyede elde eden bir yöntem geliştirmiştir. Bu yöntemin başarılı olması için saldırganın, saldırdığı platformda AES ile şifreleme yapabilme imkanının olması gerekiyordu.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
2009 yılında ise <a href="http://tr.wikipedia.org/wiki/FPGA" style="background-color: transparent; color: #552200; padding: 0px !important;" title="FPGA">FPGA</a> kullanan bir platformda, 2<sup style="line-height: 1em;">32</sup> zorlukla anahtar elde edilmiştir.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Endre Bangerter, David Gullasch ve Stephan Krenn, 2010 yılında açık metin ya da şifreli metin kullanmadan OpenSSL gibi sıkıştırma tabloları kullanan uygulamalardan AES-128 gizli anahtarını elde etmeye yarayan bir saldırı yayımlamışlardır. Bu saldırı da saldırganın, saldırılan sistemde kod çalıştırabilmesini gerektirmektedir.</div>
<h2 style="font-family: 'Times New Roman'; line-height: normal; overflow: hidden; page-break-after: avoid;">
<span class="mw-headline" id="Test_De.C4.9Ferleri">Test Değerleri</span></h2>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Test değerleri, algoritmanın gerçeklemesinin doğruluğunu kontrol etmek amacıyla oluşturulan, verilen açık metin ve anahtar çiftlerine karşılık gelen şifreli metinlerdir. Test değerleri(KAT-Known Answer Test) <a class="external text" href="http://csrc.nist.gov/groups/STM/cavp/documents/aes/KAT_AES.zip" rel="nofollow" style="background-color: transparent; padding: 0px !important; text-decoration: inherit !important;">buradan</a>indirilebilir.</div>
<h2 style="font-family: 'Times New Roman'; line-height: normal; overflow: hidden; page-break-after: avoid;">
<span class="mw-headline" id="Performans">Performans</span></h2>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
AES seçim sürecinde NIST'in performans kriterleri yüksek hız ve düşük RAM gereksinimi olarak belirlenmişti. Bu kriterler göz önünde bulundurularak tasarlanan AES, 8-bit akıllı kartlardan yüksek performanslı bilgisayarlara kadar birçok değişik donanım üzerinde yüksek performansla koşar.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Pentium Pro işlemci üzerinde bir AES şifrelemesi bayt başına 18 saat çevrimi gerektirir. Bu da 200 Mhz saat frekansına sahip bir işlemci için yaklaşık olarak saniyeded 11 MiB veri büyüklüğüne denk gelir. AES'in kullandığı işlemlerin işlemcilerin komut setine dahil edilmesi ile şifreleme işleminin gerektirdiği saat çevirimi bayt başına 3.5'e <sup class="reference" id="cite_ref-0" style="line-height: 1em;"><a href="http://tr.wikipedia.org/w/index.php?title=AES&printable=yes#cite_note-0" style="background-color: transparent; color: #552200; padding: 0px !important; white-space: nowrap;">[1]</a></sup>, yüksek bufferlı sistemlerde ise 1.3'e <sup class="reference" id="cite_ref-1" style="line-height: 1em;"><a href="http://tr.wikipedia.org/w/index.php?title=AES&printable=yes#cite_note-1" style="background-color: transparent; color: #552200; padding: 0px !important; white-space: nowrap;">[2]</a></sup> kadar düşmüştür.</div>
<div style="font-family: 'Times New Roman'; font-size: medium; line-height: 1.2em; margin-bottom: 1em; margin-top: 1em; orphans: 3; widows: 3;">
Kaynak : <a href="http://tr.wikipedia.org/wiki/AES" style="background-color: white; font-family: sans-serif; font-size: 13px;">http://tr.wikipedia.org/wiki/AES</a></div>
<br />Bahadır Şaylanhttp://www.blogger.com/profile/01441014490476108121noreply@blogger.com0tag:blogger.com,1999:blog-8526571553160411927.post-88793078104100556162012-07-18T04:53:00.002-07:002012-07-18T05:06:31.607-07:00v1.0<br />
<br />
Şifre Pro şifre hatırlama derdine son vermek üzere geliştirilmiş şifrelerinizi kategoriler halinde kaydetmenize imkan veren son derece güvenli bir şifre kayıt uygulamasıdır.<br />
<br />
Şifre Pro şifre kayıtlarınızın güvenliğini AES256 şifreleme algoritması kullanarak, uygulama güvenliğini ise IOS tarafından sağlanan KeyChain kullanarak sağlamaktadır.<br />
<br />
Şifre Pro şifrelerinizi karegoriler halinde saklamakta olup Şifre Pro ile kaydını tutabileceğiniz şifre tipleri;<br />
- Email<br />
- İnternet Sitesi (Abonelik)<br />
- Banka Kartı<br />
- Kredi Kartı<br />
- İnternet Şubesi (Banka)<br />
- FTP<br />
- SSH<br />
- Bilgisayar<br />
- Telefon<br />
<br />
olarak sayılabilir. Uygulamayı kullanmayı düşünen ama güvenlik konusunda sakıncaları olan kişiler bu şifreleme algoritmalarının güvenliğini biraz araştırırlarsa uygulamayı iç rahatlığıyla kullanabileceklerdir. Daha fazla teknik bilgi için uygulama destek sayfasını ziyaret edebilirsiniz.<br />
<br />
Uygulamamızı tercih ettiğiniz için teşekkür eder her türlü geliştirme talepleriniz için iletişime geçebilirsiniz.<br />Bahadır Şaylanhttp://www.blogger.com/profile/01441014490476108121noreply@blogger.com0