SlideShare a Scribd company logo
Camellia Algoritması
CAMELLIA 2000 yılında NTT ve Mitsubishi Electric Corporation tarafından ortak
geliştirilmiştir. Camellia şifresinde kullanılan doğrusal dönüşüm matrisi MDBL
(Maximum Distance Binary Linear) kod olarak tasarlanmıştır.
Algoritmayı Oluşturan Ekip
https://info.isl.ntt.co.jp/crypt/eng/camellia/
https://info.isl.ntt.co.jp/crypt/eng/camellia/dl/01espec.pdf
İsmi Neden Camellia
02
Japonya da bir çiçek
adıdır.
03 Çiçek dilinde, iyi şans çok
sevimli anlamlarına
gelmektedir.
04
Söylenmesi kolay olduğu
için
01 Şifre ömrünün uzun olması
IEC
Onaylanmış Kurum ve Belgeleri
ISO
CRYPTOREC
NESSIE
04
Bilinen bütün şifre çözme saldırılarına
karşı koyabilmek için tasarlanmıştır.
Dünya çapında şifre çözücüler
tarafından incelenmiştir.
03
AES şifreleme türü ile karşılaştırılabilecek
kadar hızlı şifreleme yapabilmektedir.
02
Camellia şifrelemesi donanım
ve yazılım uygulamalarına
uygulanabilirdir.
Camellia Özellikleri
01
Camellia, simetrik bir şifreleme
türüdür. Fiestel yapısına
sahiptir
Şifreleme ve şifre çözme için
anında alt anahtar hesaplama
yapmaktadır
Anahtarlama
Zaman Kısa sürede şife oluşturmaktadır
Yapısı E2 ve MISTY temelinden
geliştirilmiştir
Camellia Özellikleri
Gelişim
Kriptoloji araştırma ve
geliştirme uzmanları tarafından
geliştirilmiştir
Camellia Özellikleri
Camellia Güvenlik
Camellia Yapısı
256-bit Anahtar için Camellia Şifrelemesinin Blok Şeması ve Özellikleri
Camellia, 128, 192 veya 256 bitlik gizli anahtara sahip simetrik bir blok şifresidir. Düz
metin ve şifreli metin bloklarının uzunluğu her zaman 128 bite eşittir
Algoritmanın en önemli unsurları F- fonksiyonlardır. Şifreleme, şifre çözme ve anahtarın
yardımcı değişkenlerini oluşturma sırasında kullanılırlar
F fonksiyonu 128 giriş biti alır. bunları alt anahtarlarının bitleriyle karıştırır ve 128 yeni bit
döndürür
F fonksiyonlarında ki bitlerin modifikasyonu, algoritmanın bir turu olarak adlandırılır. F
fonksiyonu çağrıları bloklar halinde toplanır. Her blok altı tur içerir
Turlar FL fonksiyonları ve FL -1 fonksiyonları çağrılarıyla ayrılır . 64 bitlik uzun veri
parçalarını işlerler ve bunları kl i alt anahtarlarıyla karıştırırlar
Hem şifreleme hem de şifre çözme algoritmaları, 6 turlu blokların bazı tekrarlarını
gerçekleştirmek için Tekrar sayısı, o anda kullanılan gizli anahtarın uzunluğuna bağlıdır.
6 bloğun 3 tekrarı - 128-bit gizli anahtar için,
6 blokğun 4 tekrarı - 192-bit veya 256-bit gizli anahtarlar için.
Hem şifreleme hem de şifre çözme algoritmalarının başında ve sonunda ek işlemler
gerçekleştirilir: veri bitleri, alt anahtarın bitlerine eklenir kw i
Her veri bloğunu şifrelemek (veya her şifreli metin bloğunun şifresini çözmek) için
kullanılan alt anahtarlar, ayrı bir işlemde oluşturulur. Her blok için gizli anahtardan onlarca
alt anahtar hesaplanır. Ana algoritmada çeşitli işlemler için kullanılırlar
6’lı blok şeması
F fonksiyonu, ana işlevlerden biridir. Şifreleme ve şifre
çözme işlemleri sırasında ve alt anahtarlar oluşturulurken
kullanılır. 64 bit büyüklüğündeki giriş verileri X , k alt
anahtarlarından biriyle (64 bit uzunluğunda)
karıştırılır. İşlev, 64 bit uzunluğunda bir Y çıktı bloğu
döndürür .
Veri bitleri, anahtar bitlere XOR eklenir ve sonuç, S ve P
olmak üzere iki işlevle değiştirilir .
(X, k) -> Y => P (S (X XOR k)) -> Y
FL fonksiyonu ve FL -1 fonksiyonu
FL fonksiyonu hem şifreleme hem de şifre çözme işlemleri sırasında kullanılır. 64 bit uzunluğunda
giriş verisi ve alt anahtarlardan birini alır, sonra bazı değişiklikler yapar ve son olarak 64 bit içeren
bir veri bloğu döndürür.
Bir giriş veri bloğu X olarak adlandırılırken , Y 64 bit uzunluğunda bir çıkış bloğudur. kl , daha
önce oluşturulan alt anahtarlardan biridir:
(X, kl) -> Y => (XL || XR, klL || klR) -> YL || YR
Başlangıçta X , 32 bit uzunluğunda iki parçaya bölünmüştür: X L , 32 sol X biti ve X R , 32 sağ X biti
içerir . Ardından, iki yeni blok (her biri 32 bit uzunluğunda) hesaplanır:
YR = ((XL AND klL) <<< 1) XOR XR
YL = (YR OR klR) XOR XL
Y L , FL fonksiyonunun 32 sol çıkış bitini ve Y R 32 sağ çıkış bitini içerir.
FL -1 fonksiyonu hem şifreleme hem de şifre çözme işlemleri sırasında kullanılır. 64 bit
uzunluğunda giriş verisi ve alt anahtarlardan birini alır, sonra bazı değişiklikler yapar ve son olarak
64 bit içeren bir veri bloğu döndürür.
Bir giriş veri bloğu X olarak adlandırılırken , Y 64 bit uzunluğunda bir çıkış bloğudur. kl , daha
önce oluşturulan alt anahtarlardan biridir:
(Y, kl) -> X => (Y L || Y R , kl L || kl R ) -> X L || X R
Başlangıçta Y , 32 bit uzunluğunda iki parçaya bölünmüştür: Y L 32 sol Y biti ve Y R 32 sağ Y biti
içerir . Ardından, iki yeni blok (her biri 32 bit uzunluğunda) hesaplanır:
XL = (YR OR klR) XOR YL
XR = ((XL AND klL) <<< 1) XOR YR
X L , FL -1 fonksiyonunun 32 sol çıkış bitini içerir ve X R , 32 sağ çıkış bitini içerir.
S-Box
F fonksiyonu içinde S fonksiyonu kullanılır. 64 bit boyutundaki giriş verileri, 8 bayt ile değiştirilir. Bunlar daha sonraki işlemler
için geri döner.
Fonksiyonda, dört değiştirme tablosu kullanır. Bunlar s-kutuları olarak adlandırılır .
Giriş verileri sekiz ayrı byta x 1 , ..., x 8 bölünmüştür . x 1 en soldaki sekiz biti, x 2 sonraki sekiz biti ve x 8 en son sekiz biti içerir.
S bloklarının her biri, alınan sekiz biti tablo ile gösterilen diğer sekiz bit olarak değiştirir. Dört s bloğu s 1 , ..., s 4 olarak
adlandırılır . Eğer y 1 , ..., y 8 , sekiz, arkasında byte ( y 1 soldaki giriş bitini , Y 8 en sağdaki çıkış biti içerir), modifikasyonlar
gerçekleştirilebilmesi S-box taşımasının avantajlı olarak tanımlanabilir:
y 1 = s 1 (x 1 )
y 2 = s 2 (x 2 )
y 3 = s 3 (x 3 )
y 4 = s 4 (x 4 )
y 5 = s 2 (x 5 )
y 6 = s 3 (x 6 )
y 7 = s 4 (x 7 )
y 8 = s 1 (x 8 )
s-box s 1 , 256 aşağıdaki sayıları içerir:
S blokları, bir bytelık giriş numarası ile belirlenen değerleri
döndürür. Tablodaki tüm hücreler, soldan sağa ve yukarıdan aşağıya
0 ile 255 arasında numaralandırılmıştır.
Örneğin s 1 [0] 112'ye eşittir, s 1 [1] 130'a eşittir ve s 1 [255] 158'e
eşittir.
Kalan üç s-kutusu da 256 numaralı tablolar olarak tanımlanabilir.
Alternatif olarak, ikameleri, değiştirilmiş giriş verileriyle s 1 üzerindeki
işlemler olarak tanımlanabilir :
s 2 (x): = (s 1 (x) <<< 1)
s 3 (x): = (s 1 (x) >>> 1)
s 4 (x): = s 1 (x <<< 1)
Anahtar oluşturma
Camellia şifresinde kullanılan gizli anahtar 128, 192 veya 256 bitten oluşabilir. Veri
bloklarını şifrelemek için, gizli anahtar bitlerine dayalı olarak birkaç yardımcı değişken ve
ardından alt anahtarlar oluşturmak gerekir. Her alt anahtar 64 bit uzunluğundadır
İlk olarak, 128 bitlik iki değişken ( K L ve K R ) ve 64 bitlik dört değişken
( K LL , K LR , K RL ve K RR ) hesaplanmalıdır . Aşağıdaki denklemler bu değişkenler arasındaki bağlantıları
açıklamaktadır:
.K LL = 64 K L'nin sol biti .K LR = 64 sağ bit K L .K RL = 64 sol bit K R .K RR = 64 sağ bit K R
Bağlantıların geri kalanı K gizli anahtarının uzunluğuna göre belirlenmelidir .
256 bit uzun anahtar için:
. K L = 128 K'nin sol biti .K R = 128 sağ bit K
Daha sonra, iki yeni yardımcı değişkeni hesaplamak mümkündür: K A ve K B , öncekilere göre. Her ikisi de 128
bit uzunluğundadır. K B sıfırdan farklıdır ancak ve ancak gizli anahtar 192 veya 256 bitten
oluşuyorsa. K A ve K B'yi oluştururken , ∑ i olarak adlandırılan altı yardım sabiti değeri kullanılmalıdır .
Sonunda, yeni oluşturulmuş dört adet 128-bit uzunluğundaki K L , K R , K A ve K B değişkenine dayalı olarak ,
64 bitlik tüm gizli alt anahtarlar hesaplanmalıdır: k i , kw i ve kl i . Kamelya algoritmasında şifreleme ve şifre
çözme sırasında tüm adımlarda alt anahtarlar kullanılır.
Anahtar Program sabitleri
Şifreleme ve şifre çözme işlemlerinde alt anahtarlar oluştururken,
genellikle ∑ i olarak adlandırılan önceden tanımlanmış altı sabit değer
kullanılmalıdır .
Aşağıdaki değerler 64 bit uzunluğundadır ve onaltılık olarak sunulmuştur.
∑ 1 = 0xA09E667F3BCC908B
∑ 2 = 0xB67AE8584CAA73B2
∑ 3 = 0xC6EF372FE94F82BE
∑ 4 = 0x54FF53A5F1D36F1C
∑ 5 = 0x10E527FADE682D1D
∑ 6 = 0xB05688C2B3E6C1FD
Alt Anahtar oluşturma
Dört 128-bit uzunluğunda değişken K L , K R , K A ve K B
Kullanıldığında k i , kw i ve kl i alt anahtarları hesaplanmalıdır (tüm alt anahtarlar 64 bit
içerir).
Subkey: alt anahtar
Received value: alınan değer
Where used: Nerede Kullanıldı
KriptoAnaliz
(İmkansız Difarensiyel)
Şifreleme Prosedürü : Şifreleme prosedürünün girişi 128-bit düz metin M ve 64 bit alt
anahtarları k wi ( i = 1 , ..., 4), k r ( r = 1 , ..., 24) ve kl j( j = 1 , ..., 6). İlk M , iki adet 64-bit ara
elde etmek için k w 1 ve k w 2 ile XORlanır. değerleri L 0 ve R 0 : L 0 || R 0 = M ⊕ ( k w 1 || k w
2 ). Ardından aşağıdaki işlemler = 6, 12 ve 18 hariç i = 1 ila 24 için gerçekleştirilir.
Lr = Rr−1 ⊕ F(Lr−1, kr), Rr = Lr−1
R için aşağıdaki işlemler uygulanır.
128-bit şifreli metin C şu şekilde hesaplanır:
FL fonksiyonu : ( X, L (32) || x R (32) , kl L (32) || kl R (32) ) ↦ →( Y L (32) || Y R (32) )
Buradan da;
olarak hesaplabilir.
KriptoAnaliz
(İmkansız Difarensiyel)
FL ve FL-1 için imkansız difaransiyel analizi
Özellik-1: 3 tur kamelya yapısı için giriş fark formu;
sonra ;
a, b, b2, b3, b4, b5, b6 sıfır olmayan byte lardır.
Özellik-2: 3 tur Camellia yapısı için gerekli koşullar
KriptoAnaliz
(İmkansız Difarensiyel)
En sonunda; ΔSi+3 = P −1(ΔLi+1 ⊕ ΔLi+3), P −1(ΔLi+1) = (0, b, 0, 0, 0, 0, 0, 0) dir.
P −1 fonsiyonu doğrusaldır.
Kanıt : , ΔSi+1 formu (0, b, 0, 0, 0, 0, 0, 0) bu şekildedir. B sıfırdan farklıdır. ΔLi+1 = (0, b, b, b, b, b, 0, 0) p
fonsiyonu doğrusal olduğundan Anahtar ekleme katmanı ve S-box katmanından sonra, ΔSi+2 = (0, b2, b3, b4, b5, b6,
0, 0) şeklidedir. Bu işlemlerden sonra aşağıda denklem kurulabilir.
KriptoAnaliz
(İmkansız Difarensiyel)
Şekil-1 : 3 tur Camellia Özellikleri
İmkansız diferansiyel:
((0, 0, 0, 0, 0, 0, 0, 0);
(0, a, 0, 0, 0, 0, 0, 0)),a sıfır olmayan bir bayttır.
İlk turun çıktı farkı ((0, a, 0, 0, 0, 0, 0, 0); (0, 0, 0, 0, 0, 0, 0, 0))
Özellik 1'e göre, ikinci tur ve üçüncü turun çıktı farkları vardır.
KriptoAnaliz
(İmkansız Difarensiyel)
Şekil-2 Ortadaki FL ve FL-1 fonksiyonları ile 6 tur imkansız difarensiyel
KriptoAnaliz
(İmkansız Difarensiyel)
((0, b, b, b, b, b, 0, 0); (0, a, 0, 0, 0, 0, 0, 0)) ve ((c1, c2 ⊕ a, c3, c4, c5, c6, c7, c8); (0, b, b, b, b, b, 0, 0)) olasılık 1 olduğu sürece; (c1, c2, c3, c4, c5,
c6, c7, c8) = P(0, b2, b3, b4, b5, b6, 0, 0) b, b2, b3, b4, b5, b6 bilinmeyen sıfır olmayan baytlardır.
S-box katmanı ve cl (l = 1, .., 8) bilinmeyen baytlartır.
Benzer şekilde, geriye doğru,sıfır olmayan bayt için e’yi biliyoruz , altıncı turun çıktı farkı; ((0, e, 0, 0, 0, 0, 0, 0); (0, 0, 0, 0, 0, 0, 0, 0)) şeklindedir.
dördüncü turun girdi farkı; ((0, d, d, d, d, d, 0, 0); (f1, f2 ⊕ e, f3, f4, f5, f6, f7, f8))
burada d bilinmeyen sıfır olmayan bir bayttır ve fl (l = 1, .., 8) bilinmeyen baytlardır.
F L fonksiyonuun giriş ve çıkış farklılıkları belirlenir.
c3 = b2 ⊕ b3 ⊕ b5 ⊕ b6,
c4 = b2 ⊕ b3 ⊕ b4 ⊕ b5 ⊕ b6
b4 = 0 ile çelişen (F L − 1 fonksiyonunun giriş ve çıkış farkına göre, d4 = 0 d4 = 0 gibi başka bir çelişki de çıkarabiliriz. Sonuç olarak,
KriptoAnaliz
(İmkansız Difarensiyel)
11-round Camellia-256'yı analiz etmek için 6 mermi imkansız diferansiyelin üstüne 3 tur ve altına 2 tur ekliyoruz, Beyazlatma anahtarlarıyla başa çıkmak için önce
eşdeğer alt anahtarları belirtiyoruz ka = kw1 ⊕ k1, kb = kw2 ⊕ k2, kc = kw1 ⊕ k3, kd = kw4 ⊕ k10 ve ke = kw3 ⊕ k11. Daha sonra şifre, yuvarlak fonksiyonların orijinal
olanlar yerine eşdeğer alt anahtarları kullanması dışında beyazlatma anahtarı yokmuş gibi davranır. Saldırının amaçları imkansız diferansiyel vasıtasıyla yanlış
eşdeğer alt anahtarları atmaktır.Örneğin, bir düz metin / şifreli metin çifti, Şekil 3'teki farkı karşılıyorsa, o zamanilgili alt anahtar yanlış olmalıdır. Doğru eşdeğeri
bulduktan sonra alt anahtarlar, ana anahtar anahtar zamanlama tarafından kurtarılacaktır. Tanıtmadan önceSaldırı prosedürü için, önce bir ön hesaplama tablosu
oluşturmak. saldırının zaman karmaşıklığını azaltır.
11-tur camellia-256'ya İmkansız Diferansiyel Saldırısı
Şekil-3
Sonuç
Bilinen hiçbir
Kırılma yöntemi
yok
Yüksek Güvenlik
Seviyesi
Küçük donanım
yüksek verim
Yüksek yazılım
performansı
KAYNAKÇA
1-https://medium.com/ltunes/si%CC%87metri%CC%87k-blok-%C5%9Fi%CC%87freleme-
algori%CC%87tmalari-ve-yapisi-
c76fbe80ed4#:~:text=Camellia%20%C5%9Fifrelemesi%20bir%20blok%20%C5%9Fifreleme,%C5%9Fi
freleme%20i%C3%A7in%2024%20tur%20%C3%A7al%C4%B1%C5%9F%C4%B1r.
2-https://www.slideshare.net/RamazanTok/camellia-86708268
3-http://bilgisayarkavramlari.com/2008/06/07/kamelya-sifrelemesi-camellia-cipher/
4- http://www.crypto-it.net/eng/symmetric/camellia.html
5- 2011_Book_InformationSecurityAndPrivacy.pdf
TEŞEKKÜRLER

More Related Content

Featured

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.pdfmarketingartwork
 
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 2024Neil 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 2024Albert 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 InsightsKurio // 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 2024Search 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 summarySpeakerHub
 
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 IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit 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 managementMindGenius
 
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
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Featured (20)

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...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

Camelia

  • 1. Camellia Algoritması CAMELLIA 2000 yılında NTT ve Mitsubishi Electric Corporation tarafından ortak geliştirilmiştir. Camellia şifresinde kullanılan doğrusal dönüşüm matrisi MDBL (Maximum Distance Binary Linear) kod olarak tasarlanmıştır. Algoritmayı Oluşturan Ekip https://info.isl.ntt.co.jp/crypt/eng/camellia/ https://info.isl.ntt.co.jp/crypt/eng/camellia/dl/01espec.pdf
  • 2. İsmi Neden Camellia 02 Japonya da bir çiçek adıdır. 03 Çiçek dilinde, iyi şans çok sevimli anlamlarına gelmektedir. 04 Söylenmesi kolay olduğu için 01 Şifre ömrünün uzun olması
  • 3. IEC Onaylanmış Kurum ve Belgeleri ISO CRYPTOREC NESSIE
  • 4. 04 Bilinen bütün şifre çözme saldırılarına karşı koyabilmek için tasarlanmıştır. Dünya çapında şifre çözücüler tarafından incelenmiştir. 03 AES şifreleme türü ile karşılaştırılabilecek kadar hızlı şifreleme yapabilmektedir. 02 Camellia şifrelemesi donanım ve yazılım uygulamalarına uygulanabilirdir. Camellia Özellikleri 01 Camellia, simetrik bir şifreleme türüdür. Fiestel yapısına sahiptir
  • 5. Şifreleme ve şifre çözme için anında alt anahtar hesaplama yapmaktadır Anahtarlama Zaman Kısa sürede şife oluşturmaktadır Yapısı E2 ve MISTY temelinden geliştirilmiştir Camellia Özellikleri Gelişim Kriptoloji araştırma ve geliştirme uzmanları tarafından geliştirilmiştir
  • 9. 256-bit Anahtar için Camellia Şifrelemesinin Blok Şeması ve Özellikleri Camellia, 128, 192 veya 256 bitlik gizli anahtara sahip simetrik bir blok şifresidir. Düz metin ve şifreli metin bloklarının uzunluğu her zaman 128 bite eşittir Algoritmanın en önemli unsurları F- fonksiyonlardır. Şifreleme, şifre çözme ve anahtarın yardımcı değişkenlerini oluşturma sırasında kullanılırlar F fonksiyonu 128 giriş biti alır. bunları alt anahtarlarının bitleriyle karıştırır ve 128 yeni bit döndürür F fonksiyonlarında ki bitlerin modifikasyonu, algoritmanın bir turu olarak adlandırılır. F fonksiyonu çağrıları bloklar halinde toplanır. Her blok altı tur içerir Turlar FL fonksiyonları ve FL -1 fonksiyonları çağrılarıyla ayrılır . 64 bitlik uzun veri parçalarını işlerler ve bunları kl i alt anahtarlarıyla karıştırırlar Hem şifreleme hem de şifre çözme algoritmaları, 6 turlu blokların bazı tekrarlarını gerçekleştirmek için Tekrar sayısı, o anda kullanılan gizli anahtarın uzunluğuna bağlıdır. 6 bloğun 3 tekrarı - 128-bit gizli anahtar için, 6 blokğun 4 tekrarı - 192-bit veya 256-bit gizli anahtarlar için. Hem şifreleme hem de şifre çözme algoritmalarının başında ve sonunda ek işlemler gerçekleştirilir: veri bitleri, alt anahtarın bitlerine eklenir kw i Her veri bloğunu şifrelemek (veya her şifreli metin bloğunun şifresini çözmek) için kullanılan alt anahtarlar, ayrı bir işlemde oluşturulur. Her blok için gizli anahtardan onlarca alt anahtar hesaplanır. Ana algoritmada çeşitli işlemler için kullanılırlar
  • 10. 6’lı blok şeması F fonksiyonu, ana işlevlerden biridir. Şifreleme ve şifre çözme işlemleri sırasında ve alt anahtarlar oluşturulurken kullanılır. 64 bit büyüklüğündeki giriş verileri X , k alt anahtarlarından biriyle (64 bit uzunluğunda) karıştırılır. İşlev, 64 bit uzunluğunda bir Y çıktı bloğu döndürür . Veri bitleri, anahtar bitlere XOR eklenir ve sonuç, S ve P olmak üzere iki işlevle değiştirilir . (X, k) -> Y => P (S (X XOR k)) -> Y
  • 11. FL fonksiyonu ve FL -1 fonksiyonu FL fonksiyonu hem şifreleme hem de şifre çözme işlemleri sırasında kullanılır. 64 bit uzunluğunda giriş verisi ve alt anahtarlardan birini alır, sonra bazı değişiklikler yapar ve son olarak 64 bit içeren bir veri bloğu döndürür. Bir giriş veri bloğu X olarak adlandırılırken , Y 64 bit uzunluğunda bir çıkış bloğudur. kl , daha önce oluşturulan alt anahtarlardan biridir: (X, kl) -> Y => (XL || XR, klL || klR) -> YL || YR Başlangıçta X , 32 bit uzunluğunda iki parçaya bölünmüştür: X L , 32 sol X biti ve X R , 32 sağ X biti içerir . Ardından, iki yeni blok (her biri 32 bit uzunluğunda) hesaplanır: YR = ((XL AND klL) <<< 1) XOR XR YL = (YR OR klR) XOR XL Y L , FL fonksiyonunun 32 sol çıkış bitini ve Y R 32 sağ çıkış bitini içerir. FL -1 fonksiyonu hem şifreleme hem de şifre çözme işlemleri sırasında kullanılır. 64 bit uzunluğunda giriş verisi ve alt anahtarlardan birini alır, sonra bazı değişiklikler yapar ve son olarak 64 bit içeren bir veri bloğu döndürür. Bir giriş veri bloğu X olarak adlandırılırken , Y 64 bit uzunluğunda bir çıkış bloğudur. kl , daha önce oluşturulan alt anahtarlardan biridir: (Y, kl) -> X => (Y L || Y R , kl L || kl R ) -> X L || X R Başlangıçta Y , 32 bit uzunluğunda iki parçaya bölünmüştür: Y L 32 sol Y biti ve Y R 32 sağ Y biti içerir . Ardından, iki yeni blok (her biri 32 bit uzunluğunda) hesaplanır: XL = (YR OR klR) XOR YL XR = ((XL AND klL) <<< 1) XOR YR X L , FL -1 fonksiyonunun 32 sol çıkış bitini içerir ve X R , 32 sağ çıkış bitini içerir.
  • 12. S-Box F fonksiyonu içinde S fonksiyonu kullanılır. 64 bit boyutundaki giriş verileri, 8 bayt ile değiştirilir. Bunlar daha sonraki işlemler için geri döner. Fonksiyonda, dört değiştirme tablosu kullanır. Bunlar s-kutuları olarak adlandırılır . Giriş verileri sekiz ayrı byta x 1 , ..., x 8 bölünmüştür . x 1 en soldaki sekiz biti, x 2 sonraki sekiz biti ve x 8 en son sekiz biti içerir. S bloklarının her biri, alınan sekiz biti tablo ile gösterilen diğer sekiz bit olarak değiştirir. Dört s bloğu s 1 , ..., s 4 olarak adlandırılır . Eğer y 1 , ..., y 8 , sekiz, arkasında byte ( y 1 soldaki giriş bitini , Y 8 en sağdaki çıkış biti içerir), modifikasyonlar gerçekleştirilebilmesi S-box taşımasının avantajlı olarak tanımlanabilir: y 1 = s 1 (x 1 ) y 2 = s 2 (x 2 ) y 3 = s 3 (x 3 ) y 4 = s 4 (x 4 ) y 5 = s 2 (x 5 ) y 6 = s 3 (x 6 ) y 7 = s 4 (x 7 ) y 8 = s 1 (x 8 ) s-box s 1 , 256 aşağıdaki sayıları içerir: S blokları, bir bytelık giriş numarası ile belirlenen değerleri döndürür. Tablodaki tüm hücreler, soldan sağa ve yukarıdan aşağıya 0 ile 255 arasında numaralandırılmıştır. Örneğin s 1 [0] 112'ye eşittir, s 1 [1] 130'a eşittir ve s 1 [255] 158'e eşittir. Kalan üç s-kutusu da 256 numaralı tablolar olarak tanımlanabilir. Alternatif olarak, ikameleri, değiştirilmiş giriş verileriyle s 1 üzerindeki işlemler olarak tanımlanabilir : s 2 (x): = (s 1 (x) <<< 1) s 3 (x): = (s 1 (x) >>> 1) s 4 (x): = s 1 (x <<< 1)
  • 13. Anahtar oluşturma Camellia şifresinde kullanılan gizli anahtar 128, 192 veya 256 bitten oluşabilir. Veri bloklarını şifrelemek için, gizli anahtar bitlerine dayalı olarak birkaç yardımcı değişken ve ardından alt anahtarlar oluşturmak gerekir. Her alt anahtar 64 bit uzunluğundadır İlk olarak, 128 bitlik iki değişken ( K L ve K R ) ve 64 bitlik dört değişken ( K LL , K LR , K RL ve K RR ) hesaplanmalıdır . Aşağıdaki denklemler bu değişkenler arasındaki bağlantıları açıklamaktadır: .K LL = 64 K L'nin sol biti .K LR = 64 sağ bit K L .K RL = 64 sol bit K R .K RR = 64 sağ bit K R Bağlantıların geri kalanı K gizli anahtarının uzunluğuna göre belirlenmelidir . 256 bit uzun anahtar için: . K L = 128 K'nin sol biti .K R = 128 sağ bit K Daha sonra, iki yeni yardımcı değişkeni hesaplamak mümkündür: K A ve K B , öncekilere göre. Her ikisi de 128 bit uzunluğundadır. K B sıfırdan farklıdır ancak ve ancak gizli anahtar 192 veya 256 bitten oluşuyorsa. K A ve K B'yi oluştururken , ∑ i olarak adlandırılan altı yardım sabiti değeri kullanılmalıdır . Sonunda, yeni oluşturulmuş dört adet 128-bit uzunluğundaki K L , K R , K A ve K B değişkenine dayalı olarak , 64 bitlik tüm gizli alt anahtarlar hesaplanmalıdır: k i , kw i ve kl i . Kamelya algoritmasında şifreleme ve şifre çözme sırasında tüm adımlarda alt anahtarlar kullanılır.
  • 14. Anahtar Program sabitleri Şifreleme ve şifre çözme işlemlerinde alt anahtarlar oluştururken, genellikle ∑ i olarak adlandırılan önceden tanımlanmış altı sabit değer kullanılmalıdır . Aşağıdaki değerler 64 bit uzunluğundadır ve onaltılık olarak sunulmuştur. ∑ 1 = 0xA09E667F3BCC908B ∑ 2 = 0xB67AE8584CAA73B2 ∑ 3 = 0xC6EF372FE94F82BE ∑ 4 = 0x54FF53A5F1D36F1C ∑ 5 = 0x10E527FADE682D1D ∑ 6 = 0xB05688C2B3E6C1FD
  • 15. Alt Anahtar oluşturma Dört 128-bit uzunluğunda değişken K L , K R , K A ve K B Kullanıldığında k i , kw i ve kl i alt anahtarları hesaplanmalıdır (tüm alt anahtarlar 64 bit içerir). Subkey: alt anahtar Received value: alınan değer Where used: Nerede Kullanıldı
  • 16. KriptoAnaliz (İmkansız Difarensiyel) Şifreleme Prosedürü : Şifreleme prosedürünün girişi 128-bit düz metin M ve 64 bit alt anahtarları k wi ( i = 1 , ..., 4), k r ( r = 1 , ..., 24) ve kl j( j = 1 , ..., 6). İlk M , iki adet 64-bit ara elde etmek için k w 1 ve k w 2 ile XORlanır. değerleri L 0 ve R 0 : L 0 || R 0 = M ⊕ ( k w 1 || k w 2 ). Ardından aşağıdaki işlemler = 6, 12 ve 18 hariç i = 1 ila 24 için gerçekleştirilir. Lr = Rr−1 ⊕ F(Lr−1, kr), Rr = Lr−1 R için aşağıdaki işlemler uygulanır. 128-bit şifreli metin C şu şekilde hesaplanır: FL fonksiyonu : ( X, L (32) || x R (32) , kl L (32) || kl R (32) ) ↦ →( Y L (32) || Y R (32) ) Buradan da; olarak hesaplabilir.
  • 17. KriptoAnaliz (İmkansız Difarensiyel) FL ve FL-1 için imkansız difaransiyel analizi Özellik-1: 3 tur kamelya yapısı için giriş fark formu; sonra ; a, b, b2, b3, b4, b5, b6 sıfır olmayan byte lardır. Özellik-2: 3 tur Camellia yapısı için gerekli koşullar
  • 18. KriptoAnaliz (İmkansız Difarensiyel) En sonunda; ΔSi+3 = P −1(ΔLi+1 ⊕ ΔLi+3), P −1(ΔLi+1) = (0, b, 0, 0, 0, 0, 0, 0) dir. P −1 fonsiyonu doğrusaldır. Kanıt : , ΔSi+1 formu (0, b, 0, 0, 0, 0, 0, 0) bu şekildedir. B sıfırdan farklıdır. ΔLi+1 = (0, b, b, b, b, b, 0, 0) p fonsiyonu doğrusal olduğundan Anahtar ekleme katmanı ve S-box katmanından sonra, ΔSi+2 = (0, b2, b3, b4, b5, b6, 0, 0) şeklidedir. Bu işlemlerden sonra aşağıda denklem kurulabilir.
  • 19. KriptoAnaliz (İmkansız Difarensiyel) Şekil-1 : 3 tur Camellia Özellikleri İmkansız diferansiyel: ((0, 0, 0, 0, 0, 0, 0, 0); (0, a, 0, 0, 0, 0, 0, 0)),a sıfır olmayan bir bayttır. İlk turun çıktı farkı ((0, a, 0, 0, 0, 0, 0, 0); (0, 0, 0, 0, 0, 0, 0, 0)) Özellik 1'e göre, ikinci tur ve üçüncü turun çıktı farkları vardır.
  • 20. KriptoAnaliz (İmkansız Difarensiyel) Şekil-2 Ortadaki FL ve FL-1 fonksiyonları ile 6 tur imkansız difarensiyel
  • 21. KriptoAnaliz (İmkansız Difarensiyel) ((0, b, b, b, b, b, 0, 0); (0, a, 0, 0, 0, 0, 0, 0)) ve ((c1, c2 ⊕ a, c3, c4, c5, c6, c7, c8); (0, b, b, b, b, b, 0, 0)) olasılık 1 olduğu sürece; (c1, c2, c3, c4, c5, c6, c7, c8) = P(0, b2, b3, b4, b5, b6, 0, 0) b, b2, b3, b4, b5, b6 bilinmeyen sıfır olmayan baytlardır. S-box katmanı ve cl (l = 1, .., 8) bilinmeyen baytlartır. Benzer şekilde, geriye doğru,sıfır olmayan bayt için e’yi biliyoruz , altıncı turun çıktı farkı; ((0, e, 0, 0, 0, 0, 0, 0); (0, 0, 0, 0, 0, 0, 0, 0)) şeklindedir. dördüncü turun girdi farkı; ((0, d, d, d, d, d, 0, 0); (f1, f2 ⊕ e, f3, f4, f5, f6, f7, f8)) burada d bilinmeyen sıfır olmayan bir bayttır ve fl (l = 1, .., 8) bilinmeyen baytlardır. F L fonksiyonuun giriş ve çıkış farklılıkları belirlenir. c3 = b2 ⊕ b3 ⊕ b5 ⊕ b6, c4 = b2 ⊕ b3 ⊕ b4 ⊕ b5 ⊕ b6 b4 = 0 ile çelişen (F L − 1 fonksiyonunun giriş ve çıkış farkına göre, d4 = 0 d4 = 0 gibi başka bir çelişki de çıkarabiliriz. Sonuç olarak,
  • 22. KriptoAnaliz (İmkansız Difarensiyel) 11-round Camellia-256'yı analiz etmek için 6 mermi imkansız diferansiyelin üstüne 3 tur ve altına 2 tur ekliyoruz, Beyazlatma anahtarlarıyla başa çıkmak için önce eşdeğer alt anahtarları belirtiyoruz ka = kw1 ⊕ k1, kb = kw2 ⊕ k2, kc = kw1 ⊕ k3, kd = kw4 ⊕ k10 ve ke = kw3 ⊕ k11. Daha sonra şifre, yuvarlak fonksiyonların orijinal olanlar yerine eşdeğer alt anahtarları kullanması dışında beyazlatma anahtarı yokmuş gibi davranır. Saldırının amaçları imkansız diferansiyel vasıtasıyla yanlış eşdeğer alt anahtarları atmaktır.Örneğin, bir düz metin / şifreli metin çifti, Şekil 3'teki farkı karşılıyorsa, o zamanilgili alt anahtar yanlış olmalıdır. Doğru eşdeğeri bulduktan sonra alt anahtarlar, ana anahtar anahtar zamanlama tarafından kurtarılacaktır. Tanıtmadan önceSaldırı prosedürü için, önce bir ön hesaplama tablosu oluşturmak. saldırının zaman karmaşıklığını azaltır. 11-tur camellia-256'ya İmkansız Diferansiyel Saldırısı Şekil-3
  • 23. Sonuç Bilinen hiçbir Kırılma yöntemi yok Yüksek Güvenlik Seviyesi Küçük donanım yüksek verim Yüksek yazılım performansı