You are on page 1of 73

FEN BİLİMLERİ ENSTİTÜSÜ

ULUSLARARASI BİLGİSAYAR ANABİLİM DALI

AESX+, AESX, AES-128 VE AES-256’NIN


PERFORMANS VE GÜVENLİK AÇISINDAN
KARŞILAŞTIRILMASI

Mehmet TÜFEKÇİ
1/55
TAKDİM PLANI
• Çalışmanın Amacı ve Önemi
• Önceki Çalışmalar
• AES, AESX ve AESX+ Yapısı
• Performans Karşılaştırması
• Güvenlik Analizi
• Sonuçlar ve Öneriler

2/55
ÇALIŞMANIN AMACI VE ÖNEMİ
AES şifreleme algoritması günümüzde hala güvenirliğini
korumakta ve bilişim dünyasında güvenlik için kullanılmaktadır.

3/55
ÇALIŞMANIN AMACI VE ÖNEMİ

Bu çalışmada AESX ve önerilen

model AESX+ ile AES-128 ve

AES-256 somut kriterlere dayalı

olarak karşılaştırılarak AESX+ ve

AESX’in, AES-128 ve AES-

256’ya göre hız ve güvenlik

açısından nerede olduğunun

belirtilmesi hedeflenmiştir.

4/55
ÖNCEKİ ÇALIŞMALAR

AES’den önce kullanılan

DES şifreleme algoritmasının

56-bitlik anahtar uzayının

küçüklüğü algoritmanın

duyurulduğu andan itibaren

endişe verici olmuştur.

5/55
ÖNCEKİ ÇALIŞMALAR
DES şifreleme algoritmasını güçlendirmek için üçlü DES (triple
DES; DES-EDE3) şifreleme algoritması ortaya çıkarılmıştır.

6/55
ÖNCEKİ ÇALIŞMALAR
Blok şifrelemede, girdi bloğunun ve çıktı bloğunun xor işlemi ile
güvenliğinin artırılmasına anahtar beyazlatma (key-whitening)
adı verilir.

7/55
ÖNCEKİ ÇALIŞMALAR
DESX şifreleme algoritması
ile DES güvenliği anahtar
arama (kaba kuvvet)
saldırılarına karşı eklenen
anahtar uzunluğu kadar
daha dirençli hale geldiği
ispatlanmıştır.

8/55
ÖNCEKİ ÇALIŞMALAR
• AES şifreleme algoritmasının
disk şifrelemede kullanılan xor
– şifreleme – xor (XEX) işlemi
temelli bir modeli
kullanılmaktadır.

• RFC 3566 olarak kabul edilmiş


(AES-XCBC-MAC-96)
algoritması vardır.

9/55
AES YAPISI

Anahtar uzunluğuna göre tur sayıları:

Anahtar Uzunluğu (bit) Tur Sayısı

128 10

192 12

256 14
10/55
AES YAPISI
• AES bir bayt uyumlu şifreleme algoritmasıdır
• Her bir tur 4 katmandan oluşur

A0 A4 A8 A12

A1 A5 A9 A13

A2 A6 A10 A14

A3 A7 A11 A15

11/55
AES YAPISI
• AES, Feistel yapısı temelli değildir
 Çözme işlemi için tüm katmanlar
tersten yapılmalı:

• Sütun Karıştırma → Ters Sütun


Karıştırma

• Satır Kaydırma → Ters Satır


Kaydırma

• Bayt Değiştirme → Ters


Bayt Değiştirme

• Anahtar ekleme 12/55


AESX YAPISI

• AESX şifreleme algoritması:

13/55
AESX+ YAPISI

• AESX+ şifreleme algoritması:

14/55
PERFORMANS KARŞILAŞTIRMASI
Birbirleriyle uyumlu olan sistemlerde her bir ürünün hızı, sistemin genel
hızını etkilemekte ve performansı değiştirmektedir.

15/55
PERFORMANS KARŞILAŞTIRMASI
Crypto++ açık kaynak kütüphanesi, c++ diliyle, Dr Wei Dai
tarafından yazılmış ve ilk olarak 1995 yılında yayınlanmıştır.

16/55
PERFORMANS KARŞILAŞTIRMASI

17/55
PERFORMANS KARŞILAŞTIRMASI

18/55
PERFORMANS KARŞILAŞTIRMASI
DES ve DESX şifreleme algoritmasının Crypto++ 5.6.4
kütüphanesindeki karşılaştırmalı değerlendirme sonuçları;

19/55
PERFORMANS KARŞILAŞTIRMASI
AES-128 ve AES-256 şifreleme hızı ölçümleri;
Şifreleme Şifreleme
döngüsü Anahtar ve IV Düz Metin döngüsü
  zamanı kurulumu uzunluğu uygulama
(Mikrosaniye) süresi (Bayt) zamanı
(MİB/Saniye)
AES/CBC 2409,69 0,191 1020 80,7363
(128-bit)

AES/CBC 2835,27 0,220 1020 68,6176


(256-bit)

AES/CTR 2187,67 0,234 1020 88,9302


(128-bit)

AES/CTR 2670,78 0,176 1020 72,8436


(256-bit)

20/55
PERFORMANS KARŞILAŞTIRMASI
AES-X+ ve AES-X şifreleme hızı ölçümleri;

Şifreleme Şifreleme
döngüsü Anahtar ve IV Düz Metin döngüsü
  zamanı kurulumu uzunluğu uygulama
(Mikrosaniye) süresi (Bayt) zamanı
(MİB/Saniye)

AES-X/CBC 2702,68 0,211 1020 71,9838


(128-bit)

AES-X+/CBC 2703,23 0,204 1020 71,9692


(128-bit)

AES-X/CTR 2444,74 0,207 1020 79,5788


(128-bit)

AES-X+/CTR 2425,57 0,179 1020 79,3248


(128-bit)

21/55
PERFORMANS KARŞILAŞTIRMASI
DES, AES, DESX, AESX ve AESX+ ek yük oranları;
Karşılaştırma Yapılan Ek Yük (Overhead)
Oran (MİB/S)
Algoritmalar ≈

DES/CTR(64-bit) &
49 / 45 %8
DES-XEX3/CTR (192-bit)

AES/CBC (128-bit) & AES/CBC


80.73 / 68.61 % 17.66
(256-bit)

AES/CBC (128-bit) &


80.73 / 71.98 % 12
AES-X/CBC (AES-X+/CBC)

AES/CTR (128-bit) & AES/CTR


88.93 / 72.84 % 22
(256-bit)

AES/CTR(128-bit) & AES-X/CTR


88.93 / 79.57 % 11,76
(AES-X+/CTR)

22/55
GÜVENLİK ANALİZİ

23/55
GÜVENLİK ANALİZİ

24/55
GÜVENLİK ANALİZİ
 Anahtar Beyazlatma Tekniğine Yapılan Saldırı Türleri;
• Kodkitabı Saldırısı
• Lineer Kriptanaliz
• Daeman’ın Saldırısı
• Kısmi Deşifreleme Saldırısı
• Biham Tipi Saldırı
• İlişkili Anahtar Saldırısı
• İlişkili anahtar ayırıcı

25/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:

Anahtar arama saldırısı bir diğer adıyla


kaba kuvvet saldırısı, saldırganın doğru
parolayı bulmak için birçok muhtemel
parolayı denemesidir. Bu saldırıda
saldırgan, doğru anahtarı buluncaya
kadar sürekli olarak tüm olası
anahtarları kontrol eder.

26/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:

İdeal bir blok şifreleme;

 F : {0 ,1}K × {0,1}n →{0,1}n

İki Kahin verilmiştir;

 birincisi (k,x) girdisine, F(k,x);

 ikincisi (k,y) girdisine F-1(k,y);

değeri döndürür.

27/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:

F blok şifreleme algoritması için;

 FX : {0,1}K+2n × {0,1}n →{0,1}n


 FX(k.k1.k2) = k2 F(k,k1 x)

“FX-veya-π” oyunu için;

"Şifreleme kâhini" E verilmiştir.

 E(x) = FXK(x) veya,

 E(x) = π(x) üretir.


28/55
GÜVENLİK ANALİZİ
F-1 kâhini
Anahtar Arama Saldırısı:

FX-veya-π Oyunu:
-1
AF
Saldırgan A
F kâhini
Toplam t adet sorgu

AF
ma E kâhini
det
sorg
u
AE

29/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:

FX-veya-π Oyunu:
r K iç in FXK(x)
E kâhini hta
)-t ana
b i
n
(K+2
x Rast Saldırgan A
sal p
erm
ütas
yon
Ƥ
n iç in
π(x)

30/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:

FX-veya-π Oyunu:

Eğer, k,n ≥ 0 ve tamsayı ve ɛ ≥ 0 ve gerçel bir sayı ise, A


saldırganın FX şifreleme algoritmasını anahtar arama
saldırısı ile ɛ kırma işlemi yapabilmesi için;

31/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:
Oyun R:

32/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:
Oyun R:

33/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:
Oyun R:

34/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:
Oyun X:

35/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:
Oyun X:

36/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:
Oyun X:

37/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:

FX-veya-π Oyunu:

38/55
GÜVENLİK ANALİZİ
Oyun R':

39/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:
Oyun R':

E(P) |E| m

Fk(x) |F| t

P k1* = x C k2* = y

40/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:
Oyun R':

Çarpışmaya neden olan bu


anahtarları seçme olasılığı
en fazla 2mt ∙ 2n / 2k+2n = mt ∙
2-k-n+1 olmaktadır. Bu olasılık

AdvA değerini bağlamımızı

sağlamaktadır.

41/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:

AdvA = mt.2-k-n+1
AdvA = t.2-k-n+1+lgm

FX için etkili anahtar


uzunluğu en az k+n-1-lgm
bit olmaktadır.

42/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:

FX'k.k1(x ) = k1 Fk (x k1) FXk.k1.k2(x) = k2 Fk(k1 x)

43/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:
AES-128, AES-256, AESX ve AESX+ anahtar arama analiz
sonuçları:

Algoritma Etkili anahtar uzunluğu

AES-128 128 bit

AESX 255−lgm bit

AESX+ 255−lgm bit

AES-256 256 bit

44/55
GÜVENLİK ANALİZİ
İlişkili Anahtar Saldırısı:

İlişkili anahtar saldırısı,


saldırganın başlangıçta
değerlerini bilmediği fakat
matematiksel olarak ilişkili
olduklarını bildiği birden fazla
anahtarın şifreli veri üzerinde
etkilerini inceleyerek yaptığı bir
kriptanaliz türüdür.

45/55
GÜVENLİK ANALİZİ
İlişkili Anahtar Saldırısı:

k2 ve k2' = (k2 ± D) mod 2n

C = k2 X

C' = k2' X

C C' = k2 k2' = k2 (k2 ± D) mod 2n

46/55
GÜVENLİK ANALİZİ
İlişkili Anahtar Saldırısı:

6 RK-KP 6 RK-KP

6 x 2 = 12 ≈ 23.5 RK-KP + 2128 AES şifreleme


47/55
GÜVENLİK ANALİZİ
İlişkili Anahtar Saldırısı:
AESX+ ilişkili anahtar saldırısı (k1 anahtarı farklı);

C C' ≠ k2 k2'

48/55
GÜVENLİK ANALİZİ
İlişkili Anahtar Saldırısı:
AESX+ ilişkili anahtar saldırısı (k anahtarı farklı);

C C' ≠ k2 k2'

49/55
GÜVENLİK ANALİZİ
İlişkili Anahtar Saldırısı:

(Ma, Ca) ve (Mb, Cb)

V = Ma K1
∆W = F(V) F(V ∆M) V değeri için ∆W = ∆C
V = Mb K1

50/55
GÜVENLİK ANALİZİ
İlişkili Anahtar Saldırısı:
her i değeri için
Mi Mi' = ∆M
Ci ve Ci' elde eder
k << 2n için k adet farklı ∆Ci
∆W = ∆Ci

51/55
GÜVENLİK ANALİZİ
İlişkili Anahtar Saldırısı:
AES-128, AES-256, AESX ve AESX+ ilişkili anahtar analiz sonuçları:

Algoritma Veri İhtiyacı AES Şifreleme


AES-128 - 2128

AESX 23.5 ilişkili anahtar- 2128


bilinen metin

AESX+ (Bilinen Metin 2 bilinen metin 2256


Saldırısı)

AESX+ (Seçilmiş Metin


Saldırısı) 264 seçilmiş metin 2192

AES-256 - 2256
52/55
SONUÇLAR
• AESX ve AESX+ + şifreleme algoritmaları, AES-256 şifreleme
algoritmasına göre daha hızlı.

• AESX ve AESX+ şifreleme algoritmaları, anahtar arama


saldırısına göre, AES-128 şifreleme algoritmasına göre daha
dirençli.

• AESX ve AESX+ şifreleme algoritmaları, ilişkili anahtar arama


saldırısına göre, AES-128 şifreleme algoritmasına göre daha
dirençli.

53/55
ÖNERİLER
• AESX, AESX+ , AES-128 ve AES-256 performans
karşılaştırmaları Assembly programlama dili ile yapılması
daha doğru sonuçlar verebilir.

• AESX, AESX+ , AES-128 ve AES-256 şifreleme


algoritmalarının güvenlik karşılaştırmaları diferansiyel
saldırı türleri gibi saldırı türleri kullanılarak ve AES
şifreleme algoritmasının içyapı özelliklerini kullanan saldırı
türleri ile analiz yapılabilir.

54/55
TEŞEKKÜRLER…

55/55
AES, AESX VE AESX YAPISI +

Blok Şifreleme İlkeleri:

Yanıltma (Confusion) Yayılma (Diffusion)


Ör. Yer Değiştirme Ör. Permütasyon
DALKILIÇ DALKILIÇ
CXYOPRS IAKLILÇD

56/55
AES, AESX VE AESX YAPISI +

• AES günümüzde en yaygın olarak kullanılan popüler blok


şifreleme algoritmasıdır

• AES, DES yerini almak üzere NIST tarafından uzun yıllar süren
bir seçim aşamasından sonra kabul edilmiştir

• AES adaylarından beklenen gereksinimler:


• 128-bitlik bloğu destekleyen blok şifreleme
• 128, 192 ve 256 bit uzunluklarında anahtarları desteklemesi
• Aday algoritmalara göre güvenlik durumu
• Yazılımda ve donanımda uygulama kolaylığı

57/55
AES YAPISI
• 10/12/14 tur tekrarlayan şifreleme

• Her tur katmanlardan oluşur

58/55
AES YAPISI
Bayt değiştirme katmanı 16
adet paralel S kutularının
bulunduğu katmandır.

59/55
AES YAPISI
• AES S kutularının yer değiştirme tablosu:

60/55
AES YAPISI
Dağılma Katmanı:

• Girdi bitlerinin tamamının tüm


durumlara yayılmasını sağlar
• 2 alt katman içerir:
• Satır Kaydırma: Bayt
seviyesinde veriyi sıralar
• Sütun Karıştırma: Her bir dört
baytlık sütun vektör olarak kabul
edilir ve sabit değerleri olan 4×4
bayt matrisle çarpılır

61/55
AES YAPISI
• AES Satır Kaydırma işlemi:

62/55
AES YAPISI
• AES Sütun Karıştırma işlemi:

63/55
AES YAPISI
• Girdi:
• 16-baytlık C durum matrisi
• 16-baytlık alt anahtar ki

• Çıktı: C  ki

• Alt anahtarlar anahtar üretim


sürecinden gelir

64/55
AES YAPISI
• Alt anahtarlar orijinal 128/192/256-bit girdi anahtarının
tekrarlanmasıyla üretilir

• AES başlangıçtaki anahtara ek olarak her bir turun alt anahtarı


vardır
Anahtar Uzunluğu(bit) Alt Anahtar Sayısı
128 11
192 13
256 15

• Anahtar Beyazlatma: Alt anahtar AES girdi ve çıktısında


kullanılmaktadır
 # alt anahtar = # tur + 1

• Farklı anahtar büyüklüklerine göre farklı anahtar üretimi vardır


65/55
PERFORMANS KARŞILAŞTIRMASI
Libgcrypt açık kaynak kripto kütüphanesi, c diliyle, Werner
Koch tarafından ve Alman Hükümeti tarafından desteklenen
GNUPG (GNU Privacy Guard) projesinin ayrı bir modülü
olarak geliştirilmiştir.

66/55
PERFORMANS KARŞILAŞTIRMASI
Openssl açık kaynak kripto kütüphanesi;

67/55
PERFORMANS KARŞILAŞTIRMASI
Crypto++ kütüphanesi kullanılarak yapılmış olan birçok
performans testleri bulunmaktadır.

68/55
PERFORMANS KARŞILAŞTIRMASI

69/55
PERFORMANS KARŞILAŞTIRMASI

70/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:
Anahtar Uzunluğu Anahtar Uzayı Güvenlik Sağlama Süresi
64 264 Kısa Dönem (Birkaç gün)

Uzun Dönem (Kuantum


128 2 128
bilgisayarların olmadığını
varsayarak onlarca yıl)

Uzun Dönem (Kuantum


256 2 256
bilgisayarlar olduğu
varsayılarak onlarca yıl)

71/55
GÜVENLİK ANALİZİ
Anahtar Arama Saldırısı:
Büyük anahtar uzayının aynı şifreli veriyi göstermesi

72/55
GÜVENLİK ANALİZİ
F, DES blok şifresinin rasgele bir
örneğini olsun.

DES örneğini idealize edilmiş bir 64-bit blok


şifre (G) ile karşılaştırdığımızda:

Pr[A1(F)=1] = 1

Pr[A1(G)=1] <= 2−8

Adv(A1) = |Pr[A1(F)=1] - Pr[A1(G)=1]| >= 1 - 2−8

Adv(A1) >= 0.996

73/55

You might also like