Top Banner
1 AES S Kutusuna Benzer S Kutuları Üreten Simulatör M.Tolga SAKALLI Trakya Üniversitesi Bilgisayar Mühendisliği [email protected] Ercan BULUŞ Trakya Üniversitesi Bilgisayar Mühendisliği [email protected] Andaç ŞAHİN Trakya Üniversitesi Bilgisayar Mühendisliği [email protected] Fatma BÜYÜKSARAÇOĞLU TrakyaÜniversitesi Bilgisayar Mühendisliği [email protected] Nusret BULUŞ Trakya Üniversitesi Bilgisayar Mühendisliği [email protected]
32

AES S Kutusuna Benzer S Kutuları Üreten Simulatör

Jan 06, 2016

Download

Documents

Soya Mori

AES S Kutusuna Benzer S Kutuları Üreten Simulatör. M.Tolga SAKALLI Trakya Üniversitesi Bilgisayar Mühendisliği [email protected] Ercan BULUŞ Trakya Üniversitesi Bilgisayar Mühendisliği [email protected] Andaç ŞAHİN Trakya Üniversitesi Bilgisayar Mühendisliği [email protected] - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

1

AES S Kutusuna Benzer S Kutuları Üreten Simulatör

M.Tolga SAKALLI Trakya Üniversitesi Bilgisayar Mühendisliği [email protected]

Ercan BULUŞ Trakya Üniversitesi Bilgisayar Mühendisliğ[email protected]

Andaç ŞAHİN Trakya Üniversitesi Bilgisayar Mühendisliği [email protected]

Fatma BÜYÜKSARAÇOĞLU TrakyaÜniversitesi Bilgisayar Mühendisliği

[email protected] BULUŞ Trakya Üniversitesi Bilgisayar Mühendisliği

[email protected]

Page 2: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

2

AES (Advanced Encryption Standard)

AES (Rijndael) algoritması 128 bit veri bloklarını 128, 192, 256 bit anahtar seçenekleri ile şifreleyen bir

algoritmadır.

SPN algoritmasının geniş bir çeşididir.

128 bit anahtar için 10 döngüde şifreleme yaparken 192 ve

256 bit anahtarlar için sırasıyla 12 ve 14 döngüde şifreleme yapmaktadır.

Page 3: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

3

AES (Advanced Encryption Standard)

AES algoritmasında her döngü dört katmandan oluşur. İlk olarak 128 bit veri 44 byte matrisine dönüştürülür.

Daha sonra her döngüde sırasıyla byte’ların yerdeğiştirmesi, satırların ötelenmesi, sütunların karıştırılması ve anahtar planlamadan gelen o döngü için belirlenen anahtar ile XOR’lama işlemleri yapılır.

Page 4: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

4

161284

151173

141062

13951

161284

151173

141062

13951

Byte

Yerdeğiştirme

(S Kutusu)

Açık Metin

(128 Bit)

K0

K1

Satırları Öteleme

Sütunları Karıştırma

Byte Yerdeğiştirme

(S Kutusu)

Satırları Öteleme

Sütunları Karıştırma

Byte Yerdeğiştirme

(S Kutusu)

Satırları Öteleme

Sütunları Karıştırma

Byte Yerdeğiştirme

(S Kutusu)

Satırları Öteleme

Sütunları Karıştırma

Byte Yerdeğiştirme

(S Kutusu)

Satırları Öteleme

Sütunları Karıştırma

Byte Yerdeğiştirme

(S Kutusu)

Satırları Öteleme

Sütunları Karıştırma

Byte Yerdeğiştirme

(S Kutusu)

Satırları Öteleme

Sütunları Karıştırma

Byte Yerdeğiştirme

(S Kutusu)

Satırları Öteleme

Sütunları Karıştırma

Byte Yerdeğiştirme

(S Kutusu)

Satırları Öteleme

Sütunları Karıştırma

K2

K3

K4

K5

K6

K7

K8

K9

Byte Yerdeğiştirme

(S Kutusu)

Satırları Öteleme

K10

16 Byte

1. Döngü

2. Döngü

3. Döngü

4. Döngü

5. Döngü

6. Döngü

7. Döngü

8. Döngü

9. Döngü

10. DöngüŞifreli Metin

Page 5: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

5

AES S Kutusu

Bilindiği üzere bijektif S kutuları bir çok modern şifrelerin güvenliğinin sağlanmasında çok önemli bir rol oynar.

Bu S kutularının tasarlanmasında çeşitli teknikler mevcuttur. Şu ana kadar S kutularının tasarlanmasında mevcut olan tekniklere örnek olarak pseudo-random üretim, sonlu alanda ters alma ve üssel haritalama, heuristic teknikler verilebilir.

Page 6: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

6

AES S Kutusu

Şimdiye kadar mevcut olan tüm S kutularında istenen özellikler linear ve diferansiyel saldırılara karşın iyi olan S kutularının seçimi üzerinedir.

Dolayısıyla, şimdiye kadar önerilen şifreleme algoritmalarında kullanılan S kutuları sonlu alan işlemlerinden yola çıkılarak üretilmektedir.

Bu şifreleme algoritmalarına örnek olarak AES (Advanced Encryption Algorithm) verilebilir. AES şifreleme algoritmasında kullanılan S kutusu aşağıda gösterildiği gibi elde edilmektedir.

Page 7: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

7

AES S Kutusu AES’in S kutusu (Yerdeğiştirme Tablosu) iki dönüşüm

kullanılarak elde edilmiştir: 1- GF(28) de ters alma işlemi indirgenemez polinom

“ ” kullanılarak gerçekleştirilir. İkili (binary) temsilde “00000000” kendisine eşleştirilir.

2- Affine dönüşüm, GF(2) üzerinde uygulanır. Dönüşüm aşağıda gösterilmiştir.

0

1

1

0

0

0

1

1

x

x

x

x

x

x

x

x

.

1 1 1 1 1 0 0 0

0 1 1 1 1 1 0 0

0 0 1 1 1 1 1 0

0 0 0 1 1 1 1 1

1 0 0 0 1 1 1 1

1 1 0 0 0 1 1 1

1 1 1 0 0 0 1 1

1 1 1 1 0 0 0 1

y

y

y

y

y

y

y

y

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

1348 xxxx

Page 8: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

8

Yapılan Çalışma

AES S kutusuna benzer S kutuları tasarlayan bir simulatör geliştirme.

Ayrıca simulatör herhangi bir S kutusu için lineer ve diferensiyel kriptanaliz için önemli olan lineer yaklaşım tablosu ve XOR dağılım tablosunu oluşturmaktadır.

Page 9: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

9

S Kutusu Tasarımı

Page 10: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

10

S Kutusu Tasarımı

AES S kutusu sonlu alanda ters alma işlemi yapılarak elde edilmiştir. AES S kutusu için

sonlu alanında çarpmaya göre ters alma işlemi yapılmıştır.

Daha sonra elde edilen değerlerin üzerine affine dönüşüm uygulanmıştır. Bu dönüşüm tüm S kutusu tanımını daha kompleks hale getirmektedir ve interpolasyon saldırılarına karşı S kutusunun basit cebirsel ifadesini modifiye etme amacındadır.

)1/( 3482 xxxxxZ

Page 11: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

11

S Kutusu Tasarımı

Yukarıdaki tanım ve ifadelerden yola çıkarak 8. dereceden çeşitli indirgenemez polinomlar bularak simulator tasarımını gerçekleştirebiliriz.

Tablo 1 olası tüm 8. dereceden indirgenemez polinomları göstermektedir. Tablo 1’de polinomlar dizi formatındadır. Örneğin “101110111” polinom olarak

şeklinde temsil edilmektedir.

124568 xxxxxx

Page 12: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

12

S Kutusu Tasarımı

Tablo 1. 8. Dereceden Tüm indirgenemez Polinomlar

Asal ve İndirgenemez Polinomlarİndirgenemez Polinomlar

110000111

111000011

111110101111111001

101011111100111111

110001101110110001

101100011110100011

101001101100011011

101100101101001101

110101001101100101

100101011111010111

111001111101111011

111100111110111101

100101101110011111

101101001111110011

101110001111011101

100011101101110111

Asal ve İndirgenemez Polinomlarİndirgenemez Polinomlar

110000111

111000011

111110101111111001

101011111100111111

110001101110110001

101100011110100011

101001101100011011

101100101101001101

110101001101100101

100101011111010111

111001111101111011

111100111110111101

100101101110011111

101101001111110011

101110001111011101

100011101101110111

Page 13: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

13

Sonlu Alanda Ters Alma İşlemi 8-bit iki polinomun çarpımının kalanı seçilen

indirgenemez polinoma göre 1 ise o zaman iki polinom birbirinin o indirgenemez polinoma göre tersidir.

İndirgenemez bir polinoma göre ters alma işlemi için iki yöntem önerilebilir. Bu yöntemlerden ilki yada

için tablo oluşturmaktır. Ancak küçük m değerleri için bu etkili olacaktır. Sonlu alanda çarpmaya göre ters alma işlemi için ikinci yöntem olarak ikili Euclidean algoritmasını kullanabiliriz.

)2( mGF

mF2

Page 14: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

14

Sonlu Alanda Ters Alma İşlemi

Page 15: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

15

Sonlu Alanda Ters Alma İşlemi

Page 16: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

16

Affine (Lineer Dönüşüm)

Affine (lineer) dönüşümü, sonlu alanda ters alma işlemi gerçekleştirildikten sonra her eleman üzerinde uygulanan, lineer ve diferansiyel kriptanalize karşı herhangi bir koruma sağlamayan fakat S kutusunun

şeklindeki basit cebirsel ifadesini kompleks hale getirmek

için kullanılan bir dönüşümdür.

Çalışmamızda, 4 farklı affine dönüşüm seçenek olarak verilmiştir. Bunlardan herhangi birisi kulllanılabilir.

)2(,)( 81 GFxxxf

Page 17: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

17

S kutularının Lineer Yaklaşım

Tablosu Lineer yaklaşım tablosu (Lineer Approximation Table)

(LAT), lineer kriptanalize karşı S kutularının güvenliğinin ölçülmesinde çok önemli bir test kriteridir. Verilen bir S kutusu w. satır ve c. kolon LAT (w, c) aşağıdaki gibi tanımlanabilir. Aşağıdaki ifadede P giriş bitlerini ve S(P) S kutusunun çıkış bitlerini, nokta ürünü göstermektedir. n n boyutunda bir S kutusu için lineer yaklaşım tablosu matrise denk düşer.

1nn2 2S(P)}cPw|Z{P # c)LAT(w,

n2

n2 ZZ:S

Page 18: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

18

S kutularının XOR Tablosu (Fark

Dağılım Tablosu) Diferansiyel kriptanaliz saldırısı blok şifreleme

algoritmasında kullanılan S kutularının fark tablosundaki (XOR tablosunda) bazı özel girişlerinin kullanılması esasına dayanır. n n boyutunda bir S kutusu için XOR tablosu matrise denk düşer.

XORS (a,b) aşağıdaki gibi ifade edilebilir.

nn 22

Δb} Δa)S(PS(P) |Z{P # b)(a,XOR n2S

Page 19: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

19

Tasarlanan Simulatör Çalışmamızda tasarlanan simulatör daha önce anlatıldığı

gibi sırasıyla herhangi bir 8. dereceden indirgenemez polinom kullanarak sonlu alanda ters alma işlemi yapmakta sonrada seçilen bir affine dönüşüm kullanılarak

her tersi alınan değer bu dönüşümden geçmektedir.

Page 20: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

20

Tasarlanan Simulatör

Daha sonrada herhangi üretilen bir S kutusu için 28×28 matrisi boyutunda oluşan LAT ve XOR tablolarının seçilen bir değere karşın tek satırını göstermektedir. LAT için bu değer giriş toplamı iken XOR tablosu için seçilen değer giriş farkıdır.

Çalışmamızda asal polinomlar ve AES S kutusunun tasarımında kullanılan indirgenemez polinom programda seçenek olarak konulmuş diğer indirgenemez polinomlar için ise elle girilme imkanı verilmiştir

Page 21: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

21

Tasarlanan Simulatör

Örnek 2, asal polinom “101100101” yani

polinomu kullanılarak tasarlanan simulatörü

göstermektedir. Simulatör Visual Studio .NET ortamında

hazırlanmıştır.

12568 xxxx

Page 22: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

22

Örnek 2

Page 23: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

23

Örnek 2

Page 24: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

24

Örnek 2

Page 25: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

25

Örnek 2

Page 26: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

26

Örnek 2

Page 27: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

27

Simulatör Aracılığıyla Elde Edilen

Sonuçlar

Page 28: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

28

Simulatör Aracılığıyla Elde Edilen Sonuçlar

Page 29: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

29

Doğrusal Olmama (Nonlinearity)

c)(w,LATmax2NLM Scw,

1nS

Doğrusal Olmama, LAT Tablosundaki en büyük giriş ile ilgili olarak yukarıdaki gibi ifade edilebilir.

Page 30: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

30

Simulatör Aracılığıyla Elde Edilen Sonuçlar

Page 31: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

31

Sonuçlar Çalışmamızda AES S kutusuna benzer S kutuları üreten bir

simulatör tasarladık.

Cebirsel üretilen S kutularından herhangi biri kolaylıkla bir şifreleme algoritmasında kullanılabilir.

Ayrıca bu izomorfik S kutuları LAT ve XOR tablosu (iki önemli güvenlik kriteri) açısından benzer özellikler göstermektedir.

Çalışmamız istenirse yapılacak bir iki küçük değişiklikle şifreleme algoritması tasarımında kullanılacak bir araç görevi görecektir.

Page 32: AES S Kutusuna Benzer S Kutuları Üreten Simulatör

32

TEŞEKKÜRLER