SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
AES-256
(Advanced Encryption
Standart)
AES (Advanced Encryption
Standart)• AES (Advanced Encryption Standard; Gelişmiş Şifreleme
Standardı), elektronik verinin şifrelenmesi için sunulan bir
standarttır.
• Amerikan hükûmeti tarafından kabul edilen AES,
uluslararası alanda da defacto şifreleme (kripto) standardı
olarak kullanılmaktadır.
• DES'in (Data Encryption Standard - Veri Şifreleme
Standardı) yerini almıştır.
• 2010 yılı itibariyle en popüler simetrik
algoritmalardan biridir.
AES TARİHÇE
• AES, ABD Ulusal Standart ve Teknoloji Enstitüsü (NIST) 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ükûmetin Ticaret Müsteşarı'nın
onayının ardından 26 Mayıs 2002 tarihinde resmî olarak etkin hâle gelmiştir.
Hâlihazırda birçok şifreleme paketinde yer alan algoritma Amerikan Ulusal
Güvenlik Teşkilatı (NSA - National Security Agency) tarafından çok gizli
bilginin şifrelenmesinde kullanımı onaylanan kamuya açık ilk şifreleme
algoritmasıdır.
• AES ile standartlaştırılan algoritma, esas olarak
Vincent Rijmen ve Joan Daemen tarafından geliştirilen Rijndael algoritmasında
bazı değişiklikler yapılarak oluşturulmuştur. Rijndael, geliştiricilerin isimleri
kullanılar
elde edilen bir isimdir: RIJmen aNd DAEmen.
Algoritmanın Genel Yapısı
• AES, Değiştirme-Karıştırma (Substitution-Permutation) olarak
bilinen tasarım temeline dayanır.
• 128-bit 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.
• AES, durum (state) denilen 4x4 sütun-öncelikli bayt matrisi üzerinde
çalışır.
• Algoritma belirli sayıda tekrar eden girdi açık metni, çıktı şifreli
metne dönüştüren özdeş dönüşüm çevrimlerinden (round)
oluşmaktadır. Her çevrim, son çevrim hariç, dört adımdan
oluşmaktadır. Şifreli metni çözmek için bu çevrimler ters sıra ile
uygulanır.
• AES algoritması, 128 bit veri bloklarını 128, 192
veya 256 bit anahtar seçenekleri ile şifreleyen bir
blok şifre algoritmasıdır.
• Anahtar uzunluğu bit sayıları arasındaki
farklılık AES tur döngülerinin sayısını
değiştirmektedir.
Kelime Uzunluğu Tur Sayısı
AES-128 4 10
AES-192 6 12
AES-256 8 14
NEDEN AES-256
• Güvenlik
• Hızlı çalışması
• Daha Az Hafıza İle Çalışması
• Donanım ve Yazılıma Uygun Olabilmesi
• Esneklik
AES-256
NASIL ÇALIŞIR
?
Aes Şifreleme
Döngü Yapısı
• Her döngü tersi alınabilir dönüşümler kullanır.
• Her döngü, son döngü hariç, 4 dönüşüm kullanır: SubBytes, ShiftRows, MixColumns ve
AddRoundKey.
• Son döngüde MixColumns dönüşümü göz ardı edilir.
• Her döngüde farklı anahtar materyali kullanılır.
• Farklı anahtar materyalleri anahtar planlama evresinde gelen anahtarlardır. Master
anahtardan farklı anahtarlar elde edilerek şifrede kullanılır.
• Deşifreleme kısmında ters dönüşümler kullanılır: InvSubByte, InvShiftRows,
InvMixColumns ve AddRounKey (tersi kendisidir- XOR işlemi).
CİPHER KEY(Şifreli Anahtar)
-Girişten gelen metin 128 bitlik
parçalara bölünür.
-Her parça durum matrisine
yerleştirilir.
-Durum matrisi oluşturulduktan
sonra, artık üzerinde tüm işlemler
yapılabilir duruma gelmiş demektir.
-Aynı şekilde önceden alınan 128
bitlik anahtarda bu durum matrisi
halinde işlem görür.
-Giriş metninin yazıldığı durum
matrisi ilk olarak anahtar ile toplanır.
• İlk işlem algoritmanın tek doğrusal olmayan işlemi olan bayt
değiştirmedir. Durum matrisinin her elemanı, değerleri önceden
hesaplanarak oluşturulmuş
• 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 algoritmanın doğrusallığını bozar ve doğrusal-olmayan
(non-linear) bir dönüşüm hâline gelmesini sağlar.
• Kullanılan değişim kutusu yüksek doğrusal-olmayanlık (nonlinearity)
özelliğine sahip olduğu bilinen, sonlu cisim GF (28) üzerinde ters
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.
SubByte(Bayt Değiştirme)
Aes Şifreleme
Matrisin satırları üzerinde çalışan bu işlem her satırdaki bayt değerlerini
belirli sayıda kaydırır.
AES'de
• Yani ilk satır değiştirilmez.
• 2., 3. ve 4. satırlar sırası ile 1, 2 ve 3 bayt sola kaydırılır.
Rijndael algoritmasında ise
∙256-bit için bu değerler, ilk satır sabit kalacak şekilde 1, 3 ve 4 bayttır.
ShiftRows (Satır Kaydırma)
• 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.
• Matris çarpması işlemi sonlu cisim GF (28) üzerinde yapılmaktadır. Her bayt bu
sonlu cisim üzerinde bir polinom tanımlayacak şekilde, mod x4+1'de c(x) = 0x03 ·
x3 + x2 + x + 0x02 polinomu ile çarpılır. SütunKarıştır adımındaki sabit matris
bir MDS matristir ve SatırKaydır adımı ile birlikte şifrede karmaşıklık (diffusion)
sağlar.
MixColumns (Sütun Karıştırma)
• Her turda daha önce saydığımız işlemlerle birlikte bir de tur
anahtarı oluşturma işlemi yapılmaktadır ve her turda sonuçta
oluşan durum ile o tur için hazırlanmış olan yeni anahtar toplama
işlemine tabi tutulur. Bu işlem sonlu alanlarda yapılan toplama
işlemidir ve bit mertebesinde özel veya (XOR) işlemine karşılık
düşer.
AddRoundKey (Tur Anahtarıyla Toplama)
Aes Şifreleme
Anahtar OluşumuŞekilde de görüldüğü üzere, yeni anahtarın oluşmasındaki temel işlem bir
önceki sütun ile dört önceki sütunun toplanmasıdır. Ancak bir istisna nokta
var ki o da her 4′ün katı olan sütunda toplamadan önce bir dizi işlemden (T
İşlemi) daha geçirilir. Bu işlemler öteleme, S kutusundan geçirme ve Rc(x)
vektörü ile toplama işlemidir.
AES 256 NE KADAR GÜVENLİ?
• 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 2200 işlem gerektiren bir
saldırı algoritmanın kırılması olarak kabul edilirken 2200 mertebesindeki bir işlem,
şu an için, evrenin yaşından daha uzun bir süre gerektirmektedir.
• 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.
BİLİNEN SALDIRILAR
• 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 hâliyle atağın çalışmadığını gösteren bilimsel yayınlar yapılmıştır. Blok
şifrelere XSL saldırısı.
• 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 Twofish algoritmasının
tasarımcılarından güvenlik uzmanı Bruce Schneier Rijndael'e başarılı teorik saldırılar
yapılabileceğini ancak bu saldırıların pratik hâle gelebileceğine inanmadığını belirtmiştir.
• 1 Temmuz 2009 tarihinde Bruce Schneier blogunda 192-bit ve 256-bit AES
versiyonlarına Alex Biryukov ve Dmitry Khovratovich tarafından 2119 işlem karmaşıklığı
ile uygulanabilen ve AES'in basit anahtar oluşturma algoritmasından 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ığı 299.5e düşürülmüştür. Ardından Alex Biryukov, Orr Dunkelman, Nathan
Keller, Dmitry Khovratovich ve Adi Shamir 9 çevrim AES-256'ya sadece iki ilişkili-anahtar
kullanarak 239 zamanda anahtarın tamamının elde edildiği saldırıyı yayımlamışlardır. Bu
saldırı 245 zaman karmaşıklığı ile 10 çevrime, 277 zaman karmaşıklığı ile 11 çevrime
genişletilmiştir ancak tam çevrim AES bu ataktan etkilenmemiştir.
• Kasım 2009'da 8 çevrimlik AES-128'e bilinen anahtarlı ayırt etme
(distinguishing) saldırısı yayımlanmıştır. Bu saldırı AES-benzeri
permütasyonlara uygulanan rebound (ya da ortadan-başla)
saldırılarının geliştirilmiş bir hâlidir. Bu saldırının zaman karmaşıklığı
248, hafıza karmaşıklığı ise 232dir.
• 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.
• Tam çevrim 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ı 2126.1, 192-bit anahtarı 2189.7 ve 256-bit anahtarı
2254.4 işlem karmaşıklığı ile elde etmektedir.
Yan Kanal Saldırıları
• 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.
• 2005 yılında D.J. Bernstein OpenSSL'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.
• 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
imkânının olması gerekiyordu.
• 2009 yılında ise FPGA kullanan bir platformda, 232 zorlukla anahtar elde edilmiştir.
• 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.
Performans
• 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 çalışır.
• 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 saniyede 11 MiB veri büyüklüğüne denk gelir.
AES'in kullandığı işlemlerin işlemcilerin komut setine dâhil edilmesi
ile şifreleme işleminin gerektirdiği saat çevrimi bayt başına 3,5'e[1],
yüksek ara bellekli (buffer) sistemlerde ise 1,3'e[2] kadar düşmüştür.
TEŞEKKÜRLER

Mais conteúdo relacionado

Mais procurados

Web Uygulama Güvenliği 101
Web Uygulama Güvenliği 101Web Uygulama Güvenliği 101
Web Uygulama Güvenliği 101Mehmet Ince
 
Her Yönü İle Siber Tehdit İstihbaratı
Her Yönü İle Siber Tehdit İstihbaratıHer Yönü İle Siber Tehdit İstihbaratı
Her Yönü İle Siber Tehdit İstihbaratıBGA Cyber Security
 
Sızma Testlerinde Parola Kırma Saldırıları
Sızma Testlerinde Parola Kırma SaldırılarıSızma Testlerinde Parola Kırma Saldırıları
Sızma Testlerinde Parola Kırma SaldırılarıBGA Cyber Security
 
Pentest Çalışmalarında Kablosuz Ağ Güvenlik Testleri
Pentest Çalışmalarında Kablosuz Ağ Güvenlik TestleriPentest Çalışmalarında Kablosuz Ağ Güvenlik Testleri
Pentest Çalışmalarında Kablosuz Ağ Güvenlik TestleriBGA Cyber Security
 
3. The Data Encryption Standard (DES) and Alternatives
3. The Data Encryption Standard (DES) and Alternatives3. The Data Encryption Standard (DES) and Alternatives
3. The Data Encryption Standard (DES) and AlternativesSam Bowne
 
Topic20 The RC4 Algorithm.pptx
Topic20 The RC4 Algorithm.pptxTopic20 The RC4 Algorithm.pptx
Topic20 The RC4 Algorithm.pptxUrjaDhabarde
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3BGA Cyber Security
 
Data Encryption Standard
Data Encryption StandardData Encryption Standard
Data Encryption StandardAdri Jovin
 
Aes 128 192_256_bits_project_report
Aes 128 192_256_bits_project_reportAes 128 192_256_bits_project_report
Aes 128 192_256_bits_project_reportsakhi rehman
 
Kablosuz Ağlara Yapılan Saldırılar
Kablosuz Ağlara Yapılan SaldırılarKablosuz Ağlara Yapılan Saldırılar
Kablosuz Ağlara Yapılan SaldırılarBGA Cyber Security
 
Introduction to Cryptography
Introduction to CryptographyIntroduction to Cryptography
Introduction to CryptographySeema Goel
 
Caesar Cipher , Substitution Cipher, PlayFair and Vigenere Cipher
Caesar Cipher , Substitution Cipher, PlayFair and Vigenere CipherCaesar Cipher , Substitution Cipher, PlayFair and Vigenere Cipher
Caesar Cipher , Substitution Cipher, PlayFair and Vigenere CipherMona Rajput
 
Beyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab KitabıBeyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab KitabıBGA Cyber Security
 
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin KullanımıSiber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin KullanımıBGA Cyber Security
 
Zararlı Yazılım Analizi ve Tespitinde YARA Kullanımı
Zararlı Yazılım Analizi ve Tespitinde YARA KullanımıZararlı Yazılım Analizi ve Tespitinde YARA Kullanımı
Zararlı Yazılım Analizi ve Tespitinde YARA KullanımıBGA Cyber Security
 

Mais procurados (20)

Web Uygulama Güvenliği 101
Web Uygulama Güvenliği 101Web Uygulama Güvenliği 101
Web Uygulama Güvenliği 101
 
Symmetric encryption
Symmetric encryptionSymmetric encryption
Symmetric encryption
 
Her Yönü İle Siber Tehdit İstihbaratı
Her Yönü İle Siber Tehdit İstihbaratıHer Yönü İle Siber Tehdit İstihbaratı
Her Yönü İle Siber Tehdit İstihbaratı
 
Sızma Testlerinde Parola Kırma Saldırıları
Sızma Testlerinde Parola Kırma SaldırılarıSızma Testlerinde Parola Kırma Saldırıları
Sızma Testlerinde Parola Kırma Saldırıları
 
Pentest Çalışmalarında Kablosuz Ağ Güvenlik Testleri
Pentest Çalışmalarında Kablosuz Ağ Güvenlik TestleriPentest Çalışmalarında Kablosuz Ağ Güvenlik Testleri
Pentest Çalışmalarında Kablosuz Ağ Güvenlik Testleri
 
Twofish algo
Twofish algoTwofish algo
Twofish algo
 
3. The Data Encryption Standard (DES) and Alternatives
3. The Data Encryption Standard (DES) and Alternatives3. The Data Encryption Standard (DES) and Alternatives
3. The Data Encryption Standard (DES) and Alternatives
 
Topic20 The RC4 Algorithm.pptx
Topic20 The RC4 Algorithm.pptxTopic20 The RC4 Algorithm.pptx
Topic20 The RC4 Algorithm.pptx
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
 
Kriptoloji
KriptolojiKriptoloji
Kriptoloji
 
Data Encryption Standard
Data Encryption StandardData Encryption Standard
Data Encryption Standard
 
Aes 128 192_256_bits_project_report
Aes 128 192_256_bits_project_reportAes 128 192_256_bits_project_report
Aes 128 192_256_bits_project_report
 
Kablosuz Ağlara Yapılan Saldırılar
Kablosuz Ağlara Yapılan SaldırılarKablosuz Ağlara Yapılan Saldırılar
Kablosuz Ağlara Yapılan Saldırılar
 
Introduction to Cryptography
Introduction to CryptographyIntroduction to Cryptography
Introduction to Cryptography
 
Diffie-hellman algorithm
Diffie-hellman algorithmDiffie-hellman algorithm
Diffie-hellman algorithm
 
RC 4
RC 4 RC 4
RC 4
 
Caesar Cipher , Substitution Cipher, PlayFair and Vigenere Cipher
Caesar Cipher , Substitution Cipher, PlayFair and Vigenere CipherCaesar Cipher , Substitution Cipher, PlayFair and Vigenere Cipher
Caesar Cipher , Substitution Cipher, PlayFair and Vigenere Cipher
 
Beyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab KitabıBeyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker (CEH) Lab Kitabı
 
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin KullanımıSiber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
 
Zararlı Yazılım Analizi ve Tespitinde YARA Kullanımı
Zararlı Yazılım Analizi ve Tespitinde YARA KullanımıZararlı Yazılım Analizi ve Tespitinde YARA Kullanımı
Zararlı Yazılım Analizi ve Tespitinde YARA Kullanımı
 

Semelhante a Aes Şifreleme

Serpent Şifreleme Algoritması
Serpent Şifreleme Algoritması Serpent Şifreleme Algoritması
Serpent Şifreleme Algoritması Serkan AVUNDUK
 
Aria 256 Cipher
Aria 256 CipherAria 256 Cipher
Aria 256 CipherAliRodoplu
 
Akelarre Cipher Description
Akelarre Cipher DescriptionAkelarre Cipher Description
Akelarre Cipher DescriptionErsin YAPTATEREK
 
Mars şi̇freleme algori̇tmasi sunumu
Mars şi̇freleme algori̇tmasi sunumuMars şi̇freleme algori̇tmasi sunumu
Mars şi̇freleme algori̇tmasi sunumumesutsayar
 
Mars Şi̇freleme Algori̇tmasi
Mars Şi̇freleme Algori̇tmasi Mars Şi̇freleme Algori̇tmasi
Mars Şi̇freleme Algori̇tmasi AyselHanmAtaman
 
Telsiz Aglarda Guvenlik
Telsiz Aglarda GuvenlikTelsiz Aglarda Guvenlik
Telsiz Aglarda Guvenlikeroglu
 
Yeni Başlayanlar için Blowfi̇sh Algoritması
Yeni Başlayanlar için Blowfi̇sh AlgoritmasıYeni Başlayanlar için Blowfi̇sh Algoritması
Yeni Başlayanlar için Blowfi̇sh AlgoritmasıENES B
 
Ecdsa i̇mza algoritması
Ecdsa  i̇mza algoritmasıEcdsa  i̇mza algoritması
Ecdsa i̇mza algoritmasıMetehan25
 
simon cipher -kriptoloji
simon cipher -kriptolojisimon cipher -kriptoloji
simon cipher -kriptolojiabdullahal95
 
Rijndael Aes Specifications
Rijndael Aes SpecificationsRijndael Aes Specifications
Rijndael Aes SpecificationsBurkay Özdemir
 

Semelhante a Aes Şifreleme (13)

Speck
SpeckSpeck
Speck
 
Serpent Şifreleme Algoritması
Serpent Şifreleme Algoritması Serpent Şifreleme Algoritması
Serpent Şifreleme Algoritması
 
Aria 256 Cipher
Aria 256 CipherAria 256 Cipher
Aria 256 Cipher
 
Akelarre Cipher Description
Akelarre Cipher DescriptionAkelarre Cipher Description
Akelarre Cipher Description
 
Mars şi̇freleme algori̇tmasi sunumu
Mars şi̇freleme algori̇tmasi sunumuMars şi̇freleme algori̇tmasi sunumu
Mars şi̇freleme algori̇tmasi sunumu
 
Mars Şi̇freleme Algori̇tmasi
Mars Şi̇freleme Algori̇tmasi Mars Şi̇freleme Algori̇tmasi
Mars Şi̇freleme Algori̇tmasi
 
Sha3
Sha3Sha3
Sha3
 
Camellia
CamelliaCamellia
Camellia
 
Telsiz Aglarda Guvenlik
Telsiz Aglarda GuvenlikTelsiz Aglarda Guvenlik
Telsiz Aglarda Guvenlik
 
Yeni Başlayanlar için Blowfi̇sh Algoritması
Yeni Başlayanlar için Blowfi̇sh AlgoritmasıYeni Başlayanlar için Blowfi̇sh Algoritması
Yeni Başlayanlar için Blowfi̇sh Algoritması
 
Ecdsa i̇mza algoritması
Ecdsa  i̇mza algoritmasıEcdsa  i̇mza algoritması
Ecdsa i̇mza algoritması
 
simon cipher -kriptoloji
simon cipher -kriptolojisimon cipher -kriptoloji
simon cipher -kriptoloji
 
Rijndael Aes Specifications
Rijndael Aes SpecificationsRijndael Aes Specifications
Rijndael Aes Specifications
 

Aes Şifreleme

  • 2. AES (Advanced Encryption Standart)• AES (Advanced Encryption Standard; Gelişmiş Şifreleme Standardı), elektronik verinin şifrelenmesi için sunulan bir standarttır. • Amerikan hükûmeti tarafından kabul edilen AES, uluslararası alanda da defacto şifreleme (kripto) standardı olarak kullanılmaktadır. • DES'in (Data Encryption Standard - Veri Şifreleme Standardı) yerini almıştır. • 2010 yılı itibariyle en popüler simetrik algoritmalardan biridir.
  • 3. AES TARİHÇE • AES, ABD Ulusal Standart ve Teknoloji Enstitüsü (NIST) 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ükûmetin Ticaret Müsteşarı'nın onayının ardından 26 Mayıs 2002 tarihinde resmî olarak etkin hâle gelmiştir. Hâlihazırda birçok şifreleme paketinde yer alan algoritma Amerikan Ulusal Güvenlik Teşkilatı (NSA - National Security Agency) tarafından çok gizli bilginin şifrelenmesinde kullanımı onaylanan kamuya açık ilk şifreleme algoritmasıdır. • AES ile standartlaştırılan algoritma, esas olarak Vincent Rijmen ve Joan Daemen tarafından geliştirilen Rijndael algoritmasında bazı değişiklikler yapılarak oluşturulmuştur. Rijndael, geliştiricilerin isimleri kullanılar elde edilen bir isimdir: RIJmen aNd DAEmen.
  • 4. Algoritmanın Genel Yapısı • AES, Değiştirme-Karıştırma (Substitution-Permutation) olarak bilinen tasarım temeline dayanır. • 128-bit 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. • AES, durum (state) denilen 4x4 sütun-öncelikli bayt matrisi üzerinde çalışır. • Algoritma belirli sayıda tekrar eden girdi açık metni, çıktı şifreli metne dönüştüren özdeş dönüşüm çevrimlerinden (round) oluşmaktadır. Her çevrim, son çevrim hariç, dört adımdan oluşmaktadır. Şifreli metni çözmek için bu çevrimler ters sıra ile uygulanır.
  • 5. • AES algoritması, 128 bit veri bloklarını 128, 192 veya 256 bit anahtar seçenekleri ile şifreleyen bir blok şifre algoritmasıdır. • Anahtar uzunluğu bit sayıları arasındaki farklılık AES tur döngülerinin sayısını değiştirmektedir. Kelime Uzunluğu Tur Sayısı AES-128 4 10 AES-192 6 12 AES-256 8 14
  • 6. NEDEN AES-256 • Güvenlik • Hızlı çalışması • Daha Az Hafıza İle Çalışması • Donanım ve Yazılıma Uygun Olabilmesi • Esneklik
  • 9. Döngü Yapısı • Her döngü tersi alınabilir dönüşümler kullanır. • Her döngü, son döngü hariç, 4 dönüşüm kullanır: SubBytes, ShiftRows, MixColumns ve AddRoundKey. • Son döngüde MixColumns dönüşümü göz ardı edilir. • Her döngüde farklı anahtar materyali kullanılır. • Farklı anahtar materyalleri anahtar planlama evresinde gelen anahtarlardır. Master anahtardan farklı anahtarlar elde edilerek şifrede kullanılır. • Deşifreleme kısmında ters dönüşümler kullanılır: InvSubByte, InvShiftRows, InvMixColumns ve AddRounKey (tersi kendisidir- XOR işlemi).
  • 10. CİPHER KEY(Şifreli Anahtar) -Girişten gelen metin 128 bitlik parçalara bölünür. -Her parça durum matrisine yerleştirilir. -Durum matrisi oluşturulduktan sonra, artık üzerinde tüm işlemler yapılabilir duruma gelmiş demektir. -Aynı şekilde önceden alınan 128 bitlik anahtarda bu durum matrisi halinde işlem görür. -Giriş metninin yazıldığı durum matrisi ilk olarak anahtar ile toplanır.
  • 11. • İlk işlem algoritmanın tek doğrusal olmayan işlemi olan bayt değiştirmedir. Durum matrisinin her elemanı, değerleri önceden hesaplanarak oluşturulmuş • 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 algoritmanın doğrusallığını bozar ve doğrusal-olmayan (non-linear) bir dönüşüm hâline gelmesini sağlar. • Kullanılan değişim kutusu yüksek doğrusal-olmayanlık (nonlinearity) özelliğine sahip olduğu bilinen, sonlu cisim GF (28) üzerinde ters 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. SubByte(Bayt Değiştirme)
  • 13. Matrisin satırları üzerinde çalışan bu işlem her satırdaki bayt değerlerini belirli sayıda kaydırır. AES'de • Yani ilk satır değiştirilmez. • 2., 3. ve 4. satırlar sırası ile 1, 2 ve 3 bayt sola kaydırılır. Rijndael algoritmasında ise ∙256-bit için bu değerler, ilk satır sabit kalacak şekilde 1, 3 ve 4 bayttır. ShiftRows (Satır Kaydırma)
  • 14. • 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. • Matris çarpması işlemi sonlu cisim GF (28) üzerinde yapılmaktadır. Her bayt bu sonlu cisim üzerinde bir polinom tanımlayacak şekilde, mod x4+1'de c(x) = 0x03 · x3 + x2 + x + 0x02 polinomu ile çarpılır. SütunKarıştır adımındaki sabit matris bir MDS matristir ve SatırKaydır adımı ile birlikte şifrede karmaşıklık (diffusion) sağlar. MixColumns (Sütun Karıştırma) • Her turda daha önce saydığımız işlemlerle birlikte bir de tur anahtarı oluşturma işlemi yapılmaktadır ve her turda sonuçta oluşan durum ile o tur için hazırlanmış olan yeni anahtar toplama işlemine tabi tutulur. Bu işlem sonlu alanlarda yapılan toplama işlemidir ve bit mertebesinde özel veya (XOR) işlemine karşılık düşer. AddRoundKey (Tur Anahtarıyla Toplama)
  • 16. Anahtar OluşumuŞekilde de görüldüğü üzere, yeni anahtarın oluşmasındaki temel işlem bir önceki sütun ile dört önceki sütunun toplanmasıdır. Ancak bir istisna nokta var ki o da her 4′ün katı olan sütunda toplamadan önce bir dizi işlemden (T İşlemi) daha geçirilir. Bu işlemler öteleme, S kutusundan geçirme ve Rc(x) vektörü ile toplama işlemidir.
  • 17. AES 256 NE KADAR GÜVENLİ? • 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 2200 işlem gerektiren bir saldırı algoritmanın kırılması olarak kabul edilirken 2200 mertebesindeki bir işlem, şu an için, evrenin yaşından daha uzun bir süre gerektirmektedir. • 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.
  • 18. BİLİNEN SALDIRILAR • 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 hâliyle atağın çalışmadığını gösteren bilimsel yayınlar yapılmıştır. Blok şifrelere XSL saldırısı. • 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 Twofish algoritmasının tasarımcılarından güvenlik uzmanı Bruce Schneier Rijndael'e başarılı teorik saldırılar yapılabileceğini ancak bu saldırıların pratik hâle gelebileceğine inanmadığını belirtmiştir. • 1 Temmuz 2009 tarihinde Bruce Schneier blogunda 192-bit ve 256-bit AES versiyonlarına Alex Biryukov ve Dmitry Khovratovich tarafından 2119 işlem karmaşıklığı ile uygulanabilen ve AES'in basit anahtar oluşturma algoritmasından 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ığı 299.5e düşürülmüştür. Ardından Alex Biryukov, Orr Dunkelman, Nathan Keller, Dmitry Khovratovich ve Adi Shamir 9 çevrim AES-256'ya sadece iki ilişkili-anahtar kullanarak 239 zamanda anahtarın tamamının elde edildiği saldırıyı yayımlamışlardır. Bu saldırı 245 zaman karmaşıklığı ile 10 çevrime, 277 zaman karmaşıklığı ile 11 çevrime genişletilmiştir ancak tam çevrim AES bu ataktan etkilenmemiştir.
  • 19. • Kasım 2009'da 8 çevrimlik AES-128'e bilinen anahtarlı ayırt etme (distinguishing) saldırısı yayımlanmıştır. Bu saldırı AES-benzeri permütasyonlara uygulanan rebound (ya da ortadan-başla) saldırılarının geliştirilmiş bir hâlidir. Bu saldırının zaman karmaşıklığı 248, hafıza karmaşıklığı ise 232dir. • 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. • Tam çevrim 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ı 2126.1, 192-bit anahtarı 2189.7 ve 256-bit anahtarı 2254.4 işlem karmaşıklığı ile elde etmektedir.
  • 20. Yan Kanal Saldırıları • 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. • 2005 yılında D.J. Bernstein OpenSSL'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. • 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 imkânının olması gerekiyordu. • 2009 yılında ise FPGA kullanan bir platformda, 232 zorlukla anahtar elde edilmiştir. • 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.
  • 21. Performans • 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 çalışır. • 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 saniyede 11 MiB veri büyüklüğüne denk gelir. AES'in kullandığı işlemlerin işlemcilerin komut setine dâhil edilmesi ile şifreleme işleminin gerektirdiği saat çevrimi bayt başına 3,5'e[1], yüksek ara bellekli (buffer) sistemlerde ise 1,3'e[2] kadar düşmüştür.