SlideShare a Scribd company logo
SERPENT ŞİFRELEME
ALGORİTMASI
KRİPTOLOJİ ve GÜVENLİK PROTOKOLLERİ
SUNUM DOSYASI
Eğitmen: Mehmet Fatih ZEYVELİ
Serkan AVUNDUK
Serpent
Serkan AVUNDUK 2
Index
• Serpent Hakkında Genel
• N.I.S.T Yarışması ve Finalistler
• SP Ağı
• S-Kutuları
• Şifreleme / Çözme işlemleri
• Anahtar
• Modlar
• Güvenliği / Zafiyet ve Saldırılar
• Kripto Analizler
Serkan AVUNDUK 3
Ross Anderson
Ingiltere
Cambridge Üniversitesi
Eli Biham
Israil
Technion Üniversitesi
Lars Knudsen
Norveç
Bergen Üniversitesi
Serpent, 1997 yılında aşağıdaki 3 kişi tarafından tasarlanmıştır.
Serkan AVUNDUK 4
• 15 Yarışmacı
• 5 Finalist
1. ‘Rijndael’ şifreleme
2. ‘RC6’ şifreleme
3. ‘Twofish’ şifreleme
4. ‘Serpent’ şifreleme
5. ‘MARS’ şifreleme
N.i.s.t AES Yarışması ( 2001 )
Serkan AVUNDUK 5
Serpent Kısa Bilgiler
• Simetrik şifreleme algoritmasıdır.
• 128 bitlik blok büyüklüğü
• 32 çevrim geçici permütasyon ağı
• Anahtar büyüklüğü 128 bitlik ( 192 ve 256 bit destekler )
• 4 bit permütasyonlar halinde 16girdi x 32diziden oluşan S-Kutuları
Serkan AVUNDUK 6
Serpent SP Ağı
• SP Ağı (substitution
permutation network) :
Tekrarlanan matematiksel
işlemler dizisinden oluşan bir
blok şifreleme sınıfıdır.
• Diğer AES algoritmalarında
kullanılan ağ modelleri
karşılaştırma listesi yandaki
tabloda yer almaktadır. 
Serkan AVUNDUK 7
Serpent SP Ağındaki işlemler
• Yandaki şekilde belirtildiği gibi,
şifreli metin oluşturmak için düz
metin bir SP ağına aktarılır. Her biri
üç ana işlemden oluşan çevrimlerle
yapılır. 
Çevrim anahtarın eklenmesi
Bitlerin değiştirilmesi
Bitlerin permütasyonu
Serkan AVUNDUK 8
Serpent SP Ağındaki işlemler
Çevrim Anahtarının Eklenmesi İşlemi
Bir SP ağındaki her dönüşün bir
çevrim anahtarı vardır. Çevrim
anahtarlar, ağa başlangıçta iletilen gizli
bir anahtarın uzantısından elde edilir.
Her çevrimin başlangıcında, metin XOR
ile ilgili çevrime bağlanır. Bu, şifreli
metnin şifresinin yalnızca çevrim
anahtarlara sahip biri tarafından
çözülebilmesini sağlar.
Serkan AVUNDUK 9
Serpent SP Ağındaki işlemler
Bitlerin Değiştirilmesi işlemi
Metnin parçaları kendi aralarında değiştirilmesi işlemidir.
SP ağları blok şifrelerde kullanıldığından, metin bloklar halinde
düzenlenmiştir. Blok baytları, önceden tanımlanan S-kutuları tarafından
belirlenen kurallara göre değiştirilir.
Serkan AVUNDUK 10
Serpent SP Ağındaki işlemler
Bitlerin Permütasyonu işlemi
Bu adımda, blok metindeki bitler karıştırılır.
Serkan AVUNDUK 11
Serpent S-kutuları algoritması
• 32 çevrimden oluşan değişim - doğrusal dönüşüm ağıdır. Serpent ayrıca,
bit kesme modu adı verilen alternatif bir uygulama modu ile kriptografik
olmayan ilk ve son permütasyonları belirtir.
• Çevrim işlevi üç katmandan oluşur:
1. Anahtar ile XOR işlemi,
2. Her dönüş 8 adet 4 bitlik, ‘S’ kutusundan birini paralel olarak 32 kez
uygulama işlemi,
3. Son çevrimde, ikinci bir XOR anahtar katmanı ile doğrusal dönüşümün
yerini alır.
Serkan AVUNDUK 12
Serpent S-kutuları Özellikleri
• Diferansiyel özellikler
• Doğrusal özellikler
• Doğrusal olmayan düzen
Serkan AVUNDUK 13
Serpent S-kutusu oluşturma kodu
• Aşağıdaki kodlar ile Serpent S-kutularını üretebiliriz.
index := 0
repeat
currentsbox := index modulo 32;
for i:=0 to 15 do
j := sbox[(currentsbox+1) modulo 32][serpent[i]];
swapentries (sbox[currentsbox][i],sbox[currentsbox][j]);
if sbox[currentsbox][.] has the desired properties, save it;
index := index + 1;
until 8 S-boxes have been generated
Serkan AVUNDUK 14
• Serpent şifreleme aşağıdaki aşamalardan oluşur;
Başlangıç permütasyonu (IP)
Her biri bir anahtar karma işlemi olan düz geçişli S-kutulari birinci
dönüşümden oluşan 32 çevrim. Fakat son çevrimde bu lineer
dönüşümün yerine ilave bir anahtar karıştırma işlemi kullanılır.
Son permütasyon (FP)
Serpent Şifreleme
Serkan AVUNDUK 15
Serpent Şifreleme
• 128 bitlik bloğun soldan sağa 0 ila 127 bitlerinden oluştuğu kabul
edilirse, 0 biti en az anlamlı gerçekleştirilen ilk işlem ve ilk
permütasyondur.
• Bu permütasyondan kaynaklanan bitler aşağıdaki gibidir;
0 4 8 12 16 …… 124
1 5 9 13 17 …… 125
2 6 10 14 18 …… 126
3 7 11 15 19 …… 127
Serkan AVUNDUK 16
Serpent Şifreleme
• Şifrede kullanılan tüm değerler bit akışı olarak gösterilir.
Bitlerin indisleri;
• 32 bitlik bir anahtarda bit 0’dan bit 31’e,
• 128 bitlik anahtarda bit 0’dan bit 127’ye,
• 256 bitlik anahtarda bit 0’dan bit 255’e
Serkan AVUNDUK 17
Şifre Çözme İşlemi
• Şifre çözme işlemi, şifreleme işleminden farklıdır.
• S-kutuların tersleri, ters sırayla kullanılmalıdır ve aynı zamanda ters
doğrusal dönüşüm ve alt anahtarlar için ters sıralama kullanılmalıdır.
Serkan AVUNDUK 18
Serpent
• Serpent, yüksek performansını ve paralelliği oldukça verimli bir şekilde
kullanan bir tasarım vasıtasıyla elde eder. Performans olarak ,
algoritmanın performans seviyesinin de ötesine geçer.
• Örnek olarak, birçok uygulamada bir MAC hesaplamak ve farklı
anahtarlarla aynı anda CBC şifreleme yapmak istiyoruz;
• Bu işlemlerin iki adet 32 bitlik tam sayı ALU ile oldukça verimli bir şekilde
yapılmasına ve bir 64 bit işlemci üzerinde neredeyse aynı verimlilikle
yapılmasına olanak vermektedir.
Serkan AVUNDUK 19
• Dahili hesaplamalar için tüm değerler düşük ve son haneli olarak
gösterilir,
• DES gibi, Serpent de kriptografik önemi olmayan bir ilk ve son
permütasyon içerir. Bu permütasyonlar, şifrelemeden önce verileri
optimize etmek için kullanılır.
• Harici olarak ise her bloğu, sadece 128 bitlik ve onaltılık sayı sistemi
olarak yazıyoruz.
Serpent
Serkan AVUNDUK 20
Serpent Anahtar
256 bitlik bir anahtar şu şekilde işlenir;
• 8 adet 32 ​​bit sözcüğe bölünmüştür.
• İlk değer en eski olarak kabul edilir ve en basit şekilde aşağıdaki gibi
yeni kelimeler oluşturulur:
•  = XOR işlemi dir.
W(i) = W(i-1)  W(i-5)  W(i-8)  X'9E3779B9'  n
Serkan AVUNDUK 21
Serpent Anahtar
256 bitlik bir anahtar şu şekilde işlenir;
• Çevrimde kullanılandan farklı bir S-kutuları kullanılır.
• S-kutuları dört kez tekrarlanan S3, S2, S1, S0, S7, S6, S5, S4
dizinlerinde kullanılır.
Serkan AVUNDUK 22
Serpent Anahtar
256 bitlik bir anahtar şu şekilde işlenir;
• Burada üretilen ilk kelime sıfır kelimesi olarak kabul edilir.
• Bu nedenle 256 bit anahtar -8 ile -1 arası kelimelerden oluşur.
• 128 kelime üretilir ve daha sonra bu kelimeler, S-kutularından
işlenerek çevrim alt anahtarları oluşturmak için dörtlü gruplar halinde
alınır.
Serkan AVUNDUK 23
• Serpent, 33 adet 128 bitlik alt anahtar olan K0, ... ,K32’nin kontrolünde,
128 bitlik bir şifresiz açık metin P’yi 32 çevrimde 128 bitlik bir şifreli
metin C’ye şifreler.
• Kullanıcı anahtarının uzunluğu değişkendir ancak bu uzunluğu 128, 192
veya 256 bitte sabitlenir.
Serpent Anahtar
Serkan AVUNDUK 24
• Kullanıcı tarafından daha kısa bir anahtar sağlanırsa, Serpent
algoritmasının kendisi anahtarı 256 bit uzunluğunda yapacak şekilde
doldurur.
• Bu doldurma aşamasında, iki kısa anahtar birbiriyle eşleşemez, her
kısa anahtar bir tam anahtar ile eşleştirilecek şekilde tasarlanmıştır.
• Anahtar alanı için başka bir kısıtlama bulunmamaktadır.
Serpent Anahtar
Serkan AVUNDUK 25
Serpent Anahtar Programı
• 128 ve 192 bit anahtarlar önce 256 bit anahtarlara dönüştürülür.
• Tüm kısa anahtarlar, en önemli uç olan sağa doğru eklenerek
000 ... 001 ile 256 bit olarak doldurulur.
•
Serkan AVUNDUK 26
Serpent Modları
ÇALIŞMA MODLARI
• CBC modunda yaklaşık 264 açık metin bloğu şifrelendikten sonra
birbirinin aynı olan iki şifreli metin bulunması beklenir.
Serpent CBC Mode Şifreleme
Algoritması
Serpent CBC Mode Şifre Çözme
Algoritması
Serkan AVUNDUK 27
Serpent Güvenliği
• Serpent’in olası zafiyetleri ve saldırıları listeleyeceğiz.
Blok
Boyutu
Anahtar
Boyutu
İşYükü SaldırıTürü
Seçilen/Bilinen
Metinler
128 128 2128 TamKapsamlıArama 1
128 192 2192 TamKapsamlıArama 2
128 256 2256
TamKapsamlıArama 2
Serkan AVUNDUK 28
Serpent Olası Zafiyet ve Saldırılar
SÖZLÜK SALDIRILARI
• Blok boyutu 128 bit olduğundan, bir sözlük saldırısı, saldırganın
bilinmeyen bir anahtar ile gelişigüzel mesajları şifrelemesine veya
bunların şifresini çözmesine olanak tanıyan 2128 farklı şifresiz açık
metine ihtiyaç duyacaktır. Tasarımından bağımsız olarak 128 bitlik
bloklara sahip herhangi bir saptanabilir blok şifre için geçerlidir.
Serkan AVUNDUK 29
Serpent Olası Zafiyet ve Saldırılar
ANAHTAR ÇARPIŞMA SALDIRILARI
• Mesajların yalnızca 2 k/2’lik bir karmaşıklık ile işlenmesinde kullanılabilir.
128 bit altındaki anahtarlarla işlenmesindeki karmaşıklık 264
192 bitin altındaki anahtarlarla 296
256 bitin altındaki anahtarlarla 2128 dir.
Bu saldırı tasarımdan bağımsız olarak 128 bitlik herhangi bir blok şifre için
geçerlidir. Bu durum sadece anahtar boyutuna bağlıdır.
Serkan AVUNDUK 30
Serpent Olası Zafiyet ve Saldırılar
ZAMANLAMA SALDIRILARI
• Şifrelemek veya şifre çözmek için kullanılan komut sayısı, veriye veya
anahtara bağlı değildir.
• Farklı açık metinler veya anahtarlar için hafızada farklı yerlere erişim
sağlamadığımız için ön bellek erişimleri dahi saldırgana yardımcı olamaz.
• Yani, zamanlama saldırıları uygulanamaz.
Serkan AVUNDUK 31
Serpent Olası Zafiyet ve Saldırılar
İLİŞKİLİ ANAHTARLAR
• Dönüşleri ve S-kutuları kullanıldığından çevrim numarasını ön anahtara
XOR’ladığımızda, ilişkili anahtar saldırılarına izin veren anahtar bulmak pek
olası değildir.
• Ayrıca, farklı Serpent çevrimleri farklı S-kutularını kullanır, yani ilişkili
anahtarlar bulunsa bile ilişkili anahtar saldırıları uygulanabilir olmayacaktır.
• Anahtar planındaki işlenebilir simetrilerden doğabilecek daha basit
açıklıkların hiçbirine serpent sahip değildir. Zayıf anahtarlar, yarı zayıf
anahtarlar, eşdeğer anahtarlar veya tamamlayıcı özellikleri
bulunmamaktadır.
Serkan AVUNDUK 32
Serpent Olası Zafiyet ve Saldırılar
DİĞER SALDIRILAR
S-kutuları tersine çevrilir ve veri biti kopyalaması uygulanamaz. Bu nedenle
Davies saldırısının geliştirilmiş versiyonlarda uygulanamaz.
Doğrusal olmayan kripto analizi şu ana kadar doğrusal saldırıyı yalnızca ufak
oranlarda geliştirebilmişlerdir.
Bir doğrusal saldırı mümkün olmayacak kadar çok sayıda metin
içereceğinden, doğrusal olmayan tekniklerin faydalı bir gelişim sağlayacaktır.
Serkan AVUNDUK 33
DİFERANSİYEL KRİPTOANALİZ
• Serpent ile ilgili önemli bir konudur.
• Herhangi bir özelliğin her çevrimde en az bir adet aktif S-kutuya sahip
olması gereklidir.
• Girdide yalnızca bir bitteki bir değişikliğin her S-kutusunun çıktısına en az
iki bitinde bir değişikliğe neden olması özelliğiyle ortalama olarak en az iki
aktif S-kutusu gereklidir.
• Bu nedenle, bir çevrimin girdisinde yalnızca bir bit değişirse, çıktıda en az
iki bit değişir. Bu iki bit, bir sonraki çevrimde iki farklı S-kutusunu etkiler ve
bunların çıktılarındaki değişiklikler, bir sonraki çevrimde en az dört S-
kutusunu etkiler.
Serkan AVUNDUK 34
DİFERANSİYEL KRİPTOANALİZ
• Aşağıdaki sonuçlar, minimum koşulları sağladıkları sürece, şifrede
kullanılan S-kutularının sıralaması ve S-kutularının seçiminden bağımsız bir
şekilde tutmaktadır.
• Yediye kadar ki çevrim ile en iyi özellikleri araştırıp, en yüksek olasılıklara
sahip olanlar listelenmiştir.
Serkan AVUNDUK 35
DİFERANSİYEL KRİPTOANALİZ
Çevrim0 Diferansiyel Olasılık
Doğrusal Olasılık
(1/2 ±p) P-2
1 2-2 1/2 ±4/16 = 1/2 ±2-2 24
2 2-6 1/2 ± 22(4/16)3 = 1/2 ± 2-4 28
3 2-14 1/2 ± 27(4/16)8 = 1/2 ± 2-9 218
4 2-26 1/2 ± 213(4/16)14 = 1/2 ± 2-15 230
5 2-42 1/2 ± 219(4/16)20 = 1/2 ± 2-21 242
6 2-58 1/2 ± 226(4/16)27 = 1/2 ± 2-28 256
7 <2-70 1/2 ± 232(4/16)33 = 1/2 ± 2-34 > 268
• Diferansiyel ve Doğrusal Özelliklerin Olasılıklarındaki Sınırlamalar
Serkan AVUNDUK 36
DİFERANSİYEL KRİPTOANALİZ
• Bu çevrim özelliklerinin büyük bir çoğunluğunu önleyen kaydırma
komutlarını da kullanma nedenimiz budur.
• Özelliklerin olasılıklarını sınırlandırdık.
• Ancak diferansiyellerin olasılıklarını sınırlandırmak çok daha önemli ve çok
daha zordur.
• Diferansiyellerin olasılıklarını azaltmak için özelliklerin olasılıklarını azalttık,
olabilecek en yüksek olasılığa sahip yalnızca birkaç özellik olmasını, bunların
çevrilememesi ve geçerli olmaya devam etmesini sağladık.
Serkan AVUNDUK 37
DİFERANSİYEL KRİPTOANALİZ
• Özellikleri birçok farklı biti etkileyecek ve böylelikle diferansiyellerle
kolaylıkla birleştirilemeyecek şekilde düzenledik.
• En iyi 28 çevrimli diferansiyelin olasılığının 2-120’den fazla olmadığını ve
böyle bir diferansiyelin bulunmasının çok zor olduğunu tahmin ediliyor.
• Bu gibi diferansiyellerin, 128 bitlik blok uzunluklarına sahip tüm şifrelerde
bulunması beklenmektedir.
Serkan AVUNDUK 38
DAHA YÜKSEK DERECELİ
DİFERANSİYEL KRİPTOANALİZ
• Doğrusal olmayan ‘d’ dereceli bir fonksiyonunun d’inci dereceden bir
diferansiyelinin sabit olduğu iyi bilinmektedir ve daha yüksek mertebeli
diferansiyel saldırılarda bu durumdan faydalanılabilir.
• S-kutuların tamamının doğrusal olmayan derecesi 3’tür, yani “r” çevrimden
sonraki çıktı bitlerinin doğrusal olmayan derecesinin yaklaşık 3r olması
beklenebilir.
• Burada beş çevrimden sonra erişilebilir maksimum değer 127’dir.
• Bu nedenle daha yüksek dereceli diferansiyel saldırıların Serpent’e
uygulanamayacağından emin olduklarını belirtilmektedirler.
Serkan AVUNDUK 39
KESİK DİFERANSİYEL KRİPTOANALİZ
• Bazı şifreler için her çevrimden sonra değişiklik yapılan parçaların yalnızca
değerlerinin hesaplanması mümkündür ve bu durum avantajlıdır.
• Bu kesik diferansiyel saldırılar kavramı Knudsen tarafından sunulmuştur.
• Ancak yöntem en iyi, tüm işlemlerin daha büyük bit blokları üzerinde
yapıldığı şifrelerde uygulanıyor gibi görünmektedir.
• Birçok çevrim arasındaki güçlü geçiş nedeniyle kesik diferansiyel saldırıların
Serpent’e uygulanamayacağını düşünüyorlar.
Serkan AVUNDUK 40
ELEKTROMANYETİK
SIZINTIYA DAYALI ANALİZ
• Bazı şifreleme cihazlarının, güç tüketimindeki değişiklikler gibi bazı farklı
yollarla anahtar malzemesinin elektromanyetik olarak sızdırdığı tespit
edilmiştir.
• Bu gibi saldırılara karşı savunmak öncelikle uygulayıcıları ve
değerlendiricileri ilgilendirmektedir.
• Serpent ’teki çoğu işlem, işlenen tüm bitleri aktif olarak kullandığından bu
gibi saldırıları, birçok farklı blok şifre kullanan benzer diğer cihazlara da
olacağından daha zor bir durum olduğu düşünülmektedir.
• Aşağı yukarı aynı durum, gizliliği bozan elektromanyetik radyasyondan
faydalanmaya çalışan saldırganlar için de geçerlidir.
Serkan AVUNDUK 41
DOĞRUSAL KRİPTOANALİZ
• Doğrusal kripto analizinde S-kutuların tek bitten tek bite ilişkilerini bulmak
mümkündür.
• Bu ilişkilerin olasılığı 1/2 ± 1/8 ile sınırlıdır.
• Bu nedenle, LT elendiğinde bile, her çevrimde yalnızca bir aktif S-kutusu
olan 28 çevrimli bir doğrusal özelliğin olasılığı l/2±227(l/8)28 = l/2±2-57
olacaktır.
• Bu gibi ilişkilere bağlı böyle bir saldırı, bilinen yaklaşık 2114 açık metin
gerektirecektir.
• Ancak doğrusal dönüşüm, tek bir aktif S-kutu olan bir çevrimi izleyen
çevrimde en az iki tanesinin aktif olmasını garanti altına alır.
Serkan AVUNDUK 42
DOĞRUSAL KRİPTOANALİZ
• Daha genel saldırılar, çevrimlerin bazılarında birden fazla aktif S-kutusu olan
doğrusal özellikler kullanabilir.
• Bu durumda S-kutuların olasılıkları 1/2 ± 1/4 aralığındadır.
• Diferansiyel kripto analizinde olduğu gibi özelliklerin olasılıklarını
sınırlandırabiliriz.
Serkan AVUNDUK 43
DOĞRUSAL KRİPTOANALİZ
• 6 çevrimli bir özelliğin olasılığının 1/2 ± 2-28 aralığında olduğunu görüyoruz,
buradan ise 24 çevrimli bir özelliğin olasılığının 1/2 ± 2-109 aralığında
olduğu sonucuna varabiliriz.
• Öyle bir saldırı için ihtiyaç duyulan açık metin sayısı ise 2218’dir ve bu değer,
mevcut metinlerin sayısından çok daha fazladır.
Serkan AVUNDUK 44
• KAYNAKÇA
• Ross Anderson, Eli Biham, Lars Knudsen - Serpent: A Proposal for the
Advanced Encryption Standard
• Eli Biham, Ross Anderson, Lars Knudsen - Serpent: A New Block Cipher
Proposal
• https://link.springer.com/chapter/10.1007/3-540-69710-1_15 (Erişim
Tarihi:13.01.2021)
• https://www.cl.cam.ac.uk/~rja14/serpent.html (Erişim Tarihi:13.01.2021)
• https://en.wikipedia.org/wiki/Serpent_(cipher) (Erişim Tarihi:15.01.2021)
• http://www.nist.gov/aes (Erişim Tarihi:12.01.2021)
• http://www.cs.technion.ac.il/~biham (Erişim Tarihi:12.01.2021)
Serkan AVUNDUK 45
• Dinlediğiniz için Teşekkür ederim.
Serkan AVUNDUK 46

More Related Content

Featured

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
 

Featured (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Serpent Şifreleme Algoritması

  • 1. SERPENT ŞİFRELEME ALGORİTMASI KRİPTOLOJİ ve GÜVENLİK PROTOKOLLERİ SUNUM DOSYASI Eğitmen: Mehmet Fatih ZEYVELİ Serkan AVUNDUK
  • 3. Index • Serpent Hakkında Genel • N.I.S.T Yarışması ve Finalistler • SP Ağı • S-Kutuları • Şifreleme / Çözme işlemleri • Anahtar • Modlar • Güvenliği / Zafiyet ve Saldırılar • Kripto Analizler Serkan AVUNDUK 3
  • 4. Ross Anderson Ingiltere Cambridge Üniversitesi Eli Biham Israil Technion Üniversitesi Lars Knudsen Norveç Bergen Üniversitesi Serpent, 1997 yılında aşağıdaki 3 kişi tarafından tasarlanmıştır. Serkan AVUNDUK 4
  • 5. • 15 Yarışmacı • 5 Finalist 1. ‘Rijndael’ şifreleme 2. ‘RC6’ şifreleme 3. ‘Twofish’ şifreleme 4. ‘Serpent’ şifreleme 5. ‘MARS’ şifreleme N.i.s.t AES Yarışması ( 2001 ) Serkan AVUNDUK 5
  • 6. Serpent Kısa Bilgiler • Simetrik şifreleme algoritmasıdır. • 128 bitlik blok büyüklüğü • 32 çevrim geçici permütasyon ağı • Anahtar büyüklüğü 128 bitlik ( 192 ve 256 bit destekler ) • 4 bit permütasyonlar halinde 16girdi x 32diziden oluşan S-Kutuları Serkan AVUNDUK 6
  • 7. Serpent SP Ağı • SP Ağı (substitution permutation network) : Tekrarlanan matematiksel işlemler dizisinden oluşan bir blok şifreleme sınıfıdır. • Diğer AES algoritmalarında kullanılan ağ modelleri karşılaştırma listesi yandaki tabloda yer almaktadır.  Serkan AVUNDUK 7
  • 8. Serpent SP Ağındaki işlemler • Yandaki şekilde belirtildiği gibi, şifreli metin oluşturmak için düz metin bir SP ağına aktarılır. Her biri üç ana işlemden oluşan çevrimlerle yapılır.  Çevrim anahtarın eklenmesi Bitlerin değiştirilmesi Bitlerin permütasyonu Serkan AVUNDUK 8
  • 9. Serpent SP Ağındaki işlemler Çevrim Anahtarının Eklenmesi İşlemi Bir SP ağındaki her dönüşün bir çevrim anahtarı vardır. Çevrim anahtarlar, ağa başlangıçta iletilen gizli bir anahtarın uzantısından elde edilir. Her çevrimin başlangıcında, metin XOR ile ilgili çevrime bağlanır. Bu, şifreli metnin şifresinin yalnızca çevrim anahtarlara sahip biri tarafından çözülebilmesini sağlar. Serkan AVUNDUK 9
  • 10. Serpent SP Ağındaki işlemler Bitlerin Değiştirilmesi işlemi Metnin parçaları kendi aralarında değiştirilmesi işlemidir. SP ağları blok şifrelerde kullanıldığından, metin bloklar halinde düzenlenmiştir. Blok baytları, önceden tanımlanan S-kutuları tarafından belirlenen kurallara göre değiştirilir. Serkan AVUNDUK 10
  • 11. Serpent SP Ağındaki işlemler Bitlerin Permütasyonu işlemi Bu adımda, blok metindeki bitler karıştırılır. Serkan AVUNDUK 11
  • 12. Serpent S-kutuları algoritması • 32 çevrimden oluşan değişim - doğrusal dönüşüm ağıdır. Serpent ayrıca, bit kesme modu adı verilen alternatif bir uygulama modu ile kriptografik olmayan ilk ve son permütasyonları belirtir. • Çevrim işlevi üç katmandan oluşur: 1. Anahtar ile XOR işlemi, 2. Her dönüş 8 adet 4 bitlik, ‘S’ kutusundan birini paralel olarak 32 kez uygulama işlemi, 3. Son çevrimde, ikinci bir XOR anahtar katmanı ile doğrusal dönüşümün yerini alır. Serkan AVUNDUK 12
  • 13. Serpent S-kutuları Özellikleri • Diferansiyel özellikler • Doğrusal özellikler • Doğrusal olmayan düzen Serkan AVUNDUK 13
  • 14. Serpent S-kutusu oluşturma kodu • Aşağıdaki kodlar ile Serpent S-kutularını üretebiliriz. index := 0 repeat currentsbox := index modulo 32; for i:=0 to 15 do j := sbox[(currentsbox+1) modulo 32][serpent[i]]; swapentries (sbox[currentsbox][i],sbox[currentsbox][j]); if sbox[currentsbox][.] has the desired properties, save it; index := index + 1; until 8 S-boxes have been generated Serkan AVUNDUK 14
  • 15. • Serpent şifreleme aşağıdaki aşamalardan oluşur; Başlangıç permütasyonu (IP) Her biri bir anahtar karma işlemi olan düz geçişli S-kutulari birinci dönüşümden oluşan 32 çevrim. Fakat son çevrimde bu lineer dönüşümün yerine ilave bir anahtar karıştırma işlemi kullanılır. Son permütasyon (FP) Serpent Şifreleme Serkan AVUNDUK 15
  • 16. Serpent Şifreleme • 128 bitlik bloğun soldan sağa 0 ila 127 bitlerinden oluştuğu kabul edilirse, 0 biti en az anlamlı gerçekleştirilen ilk işlem ve ilk permütasyondur. • Bu permütasyondan kaynaklanan bitler aşağıdaki gibidir; 0 4 8 12 16 …… 124 1 5 9 13 17 …… 125 2 6 10 14 18 …… 126 3 7 11 15 19 …… 127 Serkan AVUNDUK 16
  • 17. Serpent Şifreleme • Şifrede kullanılan tüm değerler bit akışı olarak gösterilir. Bitlerin indisleri; • 32 bitlik bir anahtarda bit 0’dan bit 31’e, • 128 bitlik anahtarda bit 0’dan bit 127’ye, • 256 bitlik anahtarda bit 0’dan bit 255’e Serkan AVUNDUK 17
  • 18. Şifre Çözme İşlemi • Şifre çözme işlemi, şifreleme işleminden farklıdır. • S-kutuların tersleri, ters sırayla kullanılmalıdır ve aynı zamanda ters doğrusal dönüşüm ve alt anahtarlar için ters sıralama kullanılmalıdır. Serkan AVUNDUK 18
  • 19. Serpent • Serpent, yüksek performansını ve paralelliği oldukça verimli bir şekilde kullanan bir tasarım vasıtasıyla elde eder. Performans olarak , algoritmanın performans seviyesinin de ötesine geçer. • Örnek olarak, birçok uygulamada bir MAC hesaplamak ve farklı anahtarlarla aynı anda CBC şifreleme yapmak istiyoruz; • Bu işlemlerin iki adet 32 bitlik tam sayı ALU ile oldukça verimli bir şekilde yapılmasına ve bir 64 bit işlemci üzerinde neredeyse aynı verimlilikle yapılmasına olanak vermektedir. Serkan AVUNDUK 19
  • 20. • Dahili hesaplamalar için tüm değerler düşük ve son haneli olarak gösterilir, • DES gibi, Serpent de kriptografik önemi olmayan bir ilk ve son permütasyon içerir. Bu permütasyonlar, şifrelemeden önce verileri optimize etmek için kullanılır. • Harici olarak ise her bloğu, sadece 128 bitlik ve onaltılık sayı sistemi olarak yazıyoruz. Serpent Serkan AVUNDUK 20
  • 21. Serpent Anahtar 256 bitlik bir anahtar şu şekilde işlenir; • 8 adet 32 ​​bit sözcüğe bölünmüştür. • İlk değer en eski olarak kabul edilir ve en basit şekilde aşağıdaki gibi yeni kelimeler oluşturulur: •  = XOR işlemi dir. W(i) = W(i-1)  W(i-5)  W(i-8)  X'9E3779B9'  n Serkan AVUNDUK 21
  • 22. Serpent Anahtar 256 bitlik bir anahtar şu şekilde işlenir; • Çevrimde kullanılandan farklı bir S-kutuları kullanılır. • S-kutuları dört kez tekrarlanan S3, S2, S1, S0, S7, S6, S5, S4 dizinlerinde kullanılır. Serkan AVUNDUK 22
  • 23. Serpent Anahtar 256 bitlik bir anahtar şu şekilde işlenir; • Burada üretilen ilk kelime sıfır kelimesi olarak kabul edilir. • Bu nedenle 256 bit anahtar -8 ile -1 arası kelimelerden oluşur. • 128 kelime üretilir ve daha sonra bu kelimeler, S-kutularından işlenerek çevrim alt anahtarları oluşturmak için dörtlü gruplar halinde alınır. Serkan AVUNDUK 23
  • 24. • Serpent, 33 adet 128 bitlik alt anahtar olan K0, ... ,K32’nin kontrolünde, 128 bitlik bir şifresiz açık metin P’yi 32 çevrimde 128 bitlik bir şifreli metin C’ye şifreler. • Kullanıcı anahtarının uzunluğu değişkendir ancak bu uzunluğu 128, 192 veya 256 bitte sabitlenir. Serpent Anahtar Serkan AVUNDUK 24
  • 25. • Kullanıcı tarafından daha kısa bir anahtar sağlanırsa, Serpent algoritmasının kendisi anahtarı 256 bit uzunluğunda yapacak şekilde doldurur. • Bu doldurma aşamasında, iki kısa anahtar birbiriyle eşleşemez, her kısa anahtar bir tam anahtar ile eşleştirilecek şekilde tasarlanmıştır. • Anahtar alanı için başka bir kısıtlama bulunmamaktadır. Serpent Anahtar Serkan AVUNDUK 25
  • 26. Serpent Anahtar Programı • 128 ve 192 bit anahtarlar önce 256 bit anahtarlara dönüştürülür. • Tüm kısa anahtarlar, en önemli uç olan sağa doğru eklenerek 000 ... 001 ile 256 bit olarak doldurulur. • Serkan AVUNDUK 26
  • 27. Serpent Modları ÇALIŞMA MODLARI • CBC modunda yaklaşık 264 açık metin bloğu şifrelendikten sonra birbirinin aynı olan iki şifreli metin bulunması beklenir. Serpent CBC Mode Şifreleme Algoritması Serpent CBC Mode Şifre Çözme Algoritması Serkan AVUNDUK 27
  • 28. Serpent Güvenliği • Serpent’in olası zafiyetleri ve saldırıları listeleyeceğiz. Blok Boyutu Anahtar Boyutu İşYükü SaldırıTürü Seçilen/Bilinen Metinler 128 128 2128 TamKapsamlıArama 1 128 192 2192 TamKapsamlıArama 2 128 256 2256 TamKapsamlıArama 2 Serkan AVUNDUK 28
  • 29. Serpent Olası Zafiyet ve Saldırılar SÖZLÜK SALDIRILARI • Blok boyutu 128 bit olduğundan, bir sözlük saldırısı, saldırganın bilinmeyen bir anahtar ile gelişigüzel mesajları şifrelemesine veya bunların şifresini çözmesine olanak tanıyan 2128 farklı şifresiz açık metine ihtiyaç duyacaktır. Tasarımından bağımsız olarak 128 bitlik bloklara sahip herhangi bir saptanabilir blok şifre için geçerlidir. Serkan AVUNDUK 29
  • 30. Serpent Olası Zafiyet ve Saldırılar ANAHTAR ÇARPIŞMA SALDIRILARI • Mesajların yalnızca 2 k/2’lik bir karmaşıklık ile işlenmesinde kullanılabilir. 128 bit altındaki anahtarlarla işlenmesindeki karmaşıklık 264 192 bitin altındaki anahtarlarla 296 256 bitin altındaki anahtarlarla 2128 dir. Bu saldırı tasarımdan bağımsız olarak 128 bitlik herhangi bir blok şifre için geçerlidir. Bu durum sadece anahtar boyutuna bağlıdır. Serkan AVUNDUK 30
  • 31. Serpent Olası Zafiyet ve Saldırılar ZAMANLAMA SALDIRILARI • Şifrelemek veya şifre çözmek için kullanılan komut sayısı, veriye veya anahtara bağlı değildir. • Farklı açık metinler veya anahtarlar için hafızada farklı yerlere erişim sağlamadığımız için ön bellek erişimleri dahi saldırgana yardımcı olamaz. • Yani, zamanlama saldırıları uygulanamaz. Serkan AVUNDUK 31
  • 32. Serpent Olası Zafiyet ve Saldırılar İLİŞKİLİ ANAHTARLAR • Dönüşleri ve S-kutuları kullanıldığından çevrim numarasını ön anahtara XOR’ladığımızda, ilişkili anahtar saldırılarına izin veren anahtar bulmak pek olası değildir. • Ayrıca, farklı Serpent çevrimleri farklı S-kutularını kullanır, yani ilişkili anahtarlar bulunsa bile ilişkili anahtar saldırıları uygulanabilir olmayacaktır. • Anahtar planındaki işlenebilir simetrilerden doğabilecek daha basit açıklıkların hiçbirine serpent sahip değildir. Zayıf anahtarlar, yarı zayıf anahtarlar, eşdeğer anahtarlar veya tamamlayıcı özellikleri bulunmamaktadır. Serkan AVUNDUK 32
  • 33. Serpent Olası Zafiyet ve Saldırılar DİĞER SALDIRILAR S-kutuları tersine çevrilir ve veri biti kopyalaması uygulanamaz. Bu nedenle Davies saldırısının geliştirilmiş versiyonlarda uygulanamaz. Doğrusal olmayan kripto analizi şu ana kadar doğrusal saldırıyı yalnızca ufak oranlarda geliştirebilmişlerdir. Bir doğrusal saldırı mümkün olmayacak kadar çok sayıda metin içereceğinden, doğrusal olmayan tekniklerin faydalı bir gelişim sağlayacaktır. Serkan AVUNDUK 33
  • 34. DİFERANSİYEL KRİPTOANALİZ • Serpent ile ilgili önemli bir konudur. • Herhangi bir özelliğin her çevrimde en az bir adet aktif S-kutuya sahip olması gereklidir. • Girdide yalnızca bir bitteki bir değişikliğin her S-kutusunun çıktısına en az iki bitinde bir değişikliğe neden olması özelliğiyle ortalama olarak en az iki aktif S-kutusu gereklidir. • Bu nedenle, bir çevrimin girdisinde yalnızca bir bit değişirse, çıktıda en az iki bit değişir. Bu iki bit, bir sonraki çevrimde iki farklı S-kutusunu etkiler ve bunların çıktılarındaki değişiklikler, bir sonraki çevrimde en az dört S- kutusunu etkiler. Serkan AVUNDUK 34
  • 35. DİFERANSİYEL KRİPTOANALİZ • Aşağıdaki sonuçlar, minimum koşulları sağladıkları sürece, şifrede kullanılan S-kutularının sıralaması ve S-kutularının seçiminden bağımsız bir şekilde tutmaktadır. • Yediye kadar ki çevrim ile en iyi özellikleri araştırıp, en yüksek olasılıklara sahip olanlar listelenmiştir. Serkan AVUNDUK 35
  • 36. DİFERANSİYEL KRİPTOANALİZ Çevrim0 Diferansiyel Olasılık Doğrusal Olasılık (1/2 ±p) P-2 1 2-2 1/2 ±4/16 = 1/2 ±2-2 24 2 2-6 1/2 ± 22(4/16)3 = 1/2 ± 2-4 28 3 2-14 1/2 ± 27(4/16)8 = 1/2 ± 2-9 218 4 2-26 1/2 ± 213(4/16)14 = 1/2 ± 2-15 230 5 2-42 1/2 ± 219(4/16)20 = 1/2 ± 2-21 242 6 2-58 1/2 ± 226(4/16)27 = 1/2 ± 2-28 256 7 <2-70 1/2 ± 232(4/16)33 = 1/2 ± 2-34 > 268 • Diferansiyel ve Doğrusal Özelliklerin Olasılıklarındaki Sınırlamalar Serkan AVUNDUK 36
  • 37. DİFERANSİYEL KRİPTOANALİZ • Bu çevrim özelliklerinin büyük bir çoğunluğunu önleyen kaydırma komutlarını da kullanma nedenimiz budur. • Özelliklerin olasılıklarını sınırlandırdık. • Ancak diferansiyellerin olasılıklarını sınırlandırmak çok daha önemli ve çok daha zordur. • Diferansiyellerin olasılıklarını azaltmak için özelliklerin olasılıklarını azalttık, olabilecek en yüksek olasılığa sahip yalnızca birkaç özellik olmasını, bunların çevrilememesi ve geçerli olmaya devam etmesini sağladık. Serkan AVUNDUK 37
  • 38. DİFERANSİYEL KRİPTOANALİZ • Özellikleri birçok farklı biti etkileyecek ve böylelikle diferansiyellerle kolaylıkla birleştirilemeyecek şekilde düzenledik. • En iyi 28 çevrimli diferansiyelin olasılığının 2-120’den fazla olmadığını ve böyle bir diferansiyelin bulunmasının çok zor olduğunu tahmin ediliyor. • Bu gibi diferansiyellerin, 128 bitlik blok uzunluklarına sahip tüm şifrelerde bulunması beklenmektedir. Serkan AVUNDUK 38
  • 39. DAHA YÜKSEK DERECELİ DİFERANSİYEL KRİPTOANALİZ • Doğrusal olmayan ‘d’ dereceli bir fonksiyonunun d’inci dereceden bir diferansiyelinin sabit olduğu iyi bilinmektedir ve daha yüksek mertebeli diferansiyel saldırılarda bu durumdan faydalanılabilir. • S-kutuların tamamının doğrusal olmayan derecesi 3’tür, yani “r” çevrimden sonraki çıktı bitlerinin doğrusal olmayan derecesinin yaklaşık 3r olması beklenebilir. • Burada beş çevrimden sonra erişilebilir maksimum değer 127’dir. • Bu nedenle daha yüksek dereceli diferansiyel saldırıların Serpent’e uygulanamayacağından emin olduklarını belirtilmektedirler. Serkan AVUNDUK 39
  • 40. KESİK DİFERANSİYEL KRİPTOANALİZ • Bazı şifreler için her çevrimden sonra değişiklik yapılan parçaların yalnızca değerlerinin hesaplanması mümkündür ve bu durum avantajlıdır. • Bu kesik diferansiyel saldırılar kavramı Knudsen tarafından sunulmuştur. • Ancak yöntem en iyi, tüm işlemlerin daha büyük bit blokları üzerinde yapıldığı şifrelerde uygulanıyor gibi görünmektedir. • Birçok çevrim arasındaki güçlü geçiş nedeniyle kesik diferansiyel saldırıların Serpent’e uygulanamayacağını düşünüyorlar. Serkan AVUNDUK 40
  • 41. ELEKTROMANYETİK SIZINTIYA DAYALI ANALİZ • Bazı şifreleme cihazlarının, güç tüketimindeki değişiklikler gibi bazı farklı yollarla anahtar malzemesinin elektromanyetik olarak sızdırdığı tespit edilmiştir. • Bu gibi saldırılara karşı savunmak öncelikle uygulayıcıları ve değerlendiricileri ilgilendirmektedir. • Serpent ’teki çoğu işlem, işlenen tüm bitleri aktif olarak kullandığından bu gibi saldırıları, birçok farklı blok şifre kullanan benzer diğer cihazlara da olacağından daha zor bir durum olduğu düşünülmektedir. • Aşağı yukarı aynı durum, gizliliği bozan elektromanyetik radyasyondan faydalanmaya çalışan saldırganlar için de geçerlidir. Serkan AVUNDUK 41
  • 42. DOĞRUSAL KRİPTOANALİZ • Doğrusal kripto analizinde S-kutuların tek bitten tek bite ilişkilerini bulmak mümkündür. • Bu ilişkilerin olasılığı 1/2 ± 1/8 ile sınırlıdır. • Bu nedenle, LT elendiğinde bile, her çevrimde yalnızca bir aktif S-kutusu olan 28 çevrimli bir doğrusal özelliğin olasılığı l/2±227(l/8)28 = l/2±2-57 olacaktır. • Bu gibi ilişkilere bağlı böyle bir saldırı, bilinen yaklaşık 2114 açık metin gerektirecektir. • Ancak doğrusal dönüşüm, tek bir aktif S-kutu olan bir çevrimi izleyen çevrimde en az iki tanesinin aktif olmasını garanti altına alır. Serkan AVUNDUK 42
  • 43. DOĞRUSAL KRİPTOANALİZ • Daha genel saldırılar, çevrimlerin bazılarında birden fazla aktif S-kutusu olan doğrusal özellikler kullanabilir. • Bu durumda S-kutuların olasılıkları 1/2 ± 1/4 aralığındadır. • Diferansiyel kripto analizinde olduğu gibi özelliklerin olasılıklarını sınırlandırabiliriz. Serkan AVUNDUK 43
  • 44. DOĞRUSAL KRİPTOANALİZ • 6 çevrimli bir özelliğin olasılığının 1/2 ± 2-28 aralığında olduğunu görüyoruz, buradan ise 24 çevrimli bir özelliğin olasılığının 1/2 ± 2-109 aralığında olduğu sonucuna varabiliriz. • Öyle bir saldırı için ihtiyaç duyulan açık metin sayısı ise 2218’dir ve bu değer, mevcut metinlerin sayısından çok daha fazladır. Serkan AVUNDUK 44
  • 45. • KAYNAKÇA • Ross Anderson, Eli Biham, Lars Knudsen - Serpent: A Proposal for the Advanced Encryption Standard • Eli Biham, Ross Anderson, Lars Knudsen - Serpent: A New Block Cipher Proposal • https://link.springer.com/chapter/10.1007/3-540-69710-1_15 (Erişim Tarihi:13.01.2021) • https://www.cl.cam.ac.uk/~rja14/serpent.html (Erişim Tarihi:13.01.2021) • https://en.wikipedia.org/wiki/Serpent_(cipher) (Erişim Tarihi:15.01.2021) • http://www.nist.gov/aes (Erişim Tarihi:12.01.2021) • http://www.cs.technion.ac.il/~biham (Erişim Tarihi:12.01.2021) Serkan AVUNDUK 45
  • 46. • Dinlediğiniz için Teşekkür ederim. Serkan AVUNDUK 46