SlideShare a Scribd company logo
1 of 23
SHA-3KECCAK
ALGORİTMASI
AZİZ ATTEPE
AYKUT MERT PEKDEMİR
MUHAMMET ARSLAN
TARİHÇE
• 2006 Yılında NIST, yeni bir karma standart SHA 3 oluşturmak için NIST karma işlev yarışması
düzenleyeceğini duyurdu.
• 2008 ve 2009 yıllarında Keccak adaylardan biri olarak seçildi ve2010 yılında son tura yükseldi.
• 2012 Yılında Keccak, SHA-3 yarışmasının galibi seçildi.
• 2015 Yılında NIST, SHA-3'ün karma bir standart haline geldiğini açıkladı.
SHA-3
NIST, SHA-2'ye yapılan önemli bir saldırı ortaya çıkmadığı için SHA-2'yi SHA-3 ile değiştirmek istemedi.
SHA-1'e yapılan teorik saldırı olan MD-5 ve SHA-0 algoritmalarının kırılması nedeniyle NIST, SHA-2'den farklı
olarak alternatif olarak güvenli bir karma bulmaya çalıştı ve bu da SHA-3 algoritması oldu.
NEDEN KECCAK?
TEMİZ
DİZAYN/TASARIM
EN İYİ PERFORMANS
TASARIM
ÇEŞİTLİLİĞİ YÜKSEK GÜVENLİK
SÜNGER YAPISI
SHA-3 algoritmasının temeli sünger yapısı olarak adlandırılan yapıya dayanmaktadır.
Sünger Yapısı:
• F: Her giriş bloğunu işlemek için kullanılan fonksiyon.
• R: Bit hızı olarak adlandırılan giriş bloğunun bit boyutu.
• Pad: Dolgu algoritması
SÜNGERYAPISI
N bitlik bir giriş, her biri r bitinin k sabit boyutlu
bloklarına bölünecektir.
Örneğin:
Input = P0||P1||...||Pk−1
where Pi is r-bit, Input is n-bit, and so n = r × k
SÜNGER YAPISI
SHA-3'te her zaman bir dolgu eklenir, n mod r = 0 durumunda, bir r bit dolgu bloğu eklenir.
Sünger yapısında iki dolgu algoritması sağlanır.
• Basit Dolgu: Elde edilen r x k bit olacak şekilde M mesajına 10* ekler.
• Çok Oranlı Dolgu: Elde edilen r x k bit olacak şekilde M mesajına 10*1 ekler.
İşlemden sonra, Sünger işlevi Z0, Z1, blok dizisini oluşturur..., Çıkış olarak Zj−1, burada j, istenen çıkış l bit
ise (j − 1) × r <l ≤ j × r olacak şekilde çıkış bloklarının sayısıdır.
SÜNGERYAPISI
SÜNGER YAPISI
Sünger yapısının her yinelemesinde, sünger, tüm sıfırlara başlatılan b = r + c bitlerinin bir durum değişkeni s
üzerinde çalışır.
R'nin bit hızı olduğunu ve c'nin ulaşılabilir güvenlik seviyesi olan kapasite olarak adlandırılır.
Sünger yapısı iki aşamadan oluşmaktadır:
• Emici faz
• Sıkma fazı
SÜNGER YAPISI
SHA-3 için varsayılan değerlerde c=1024 r=576’dır ve dolayısıyla b= r+c ‘den b=1600 olur.
SHA-3Keccak-fFonksiyonu
- Her b-bit tamsayısı bijektif bir şekilde bir b-bit tamsayısına eşlenmektedir.
- Buradaki -f ikinci ismini almasının ardındaki olay, fonksiyon 2^b giriş değerlerini değiş tokuş(permüte)
etmektedir.
- Burada fonksiyon 𝑛𝑟 adet turdan oluşmaktadır. Her bir tur b = r + c bitlerinden oluşan girişe sahiptir.
Tur sayısı “l” parametresine bağlıdır:
- 𝑛𝑟 = 12 + 2𝑙 𝑏 = 25 ∗ 2𝑙
l= 0,1,2,3,4,5,6
SHA-3 Keccak-fFonksiyonu
- f-fonksiyonu az önce 2^b dediğimiz giriş değerleri alır.
Bunu s olarak ifade edersek;
- SHA-3 için bu state array 5*5*64 bitlik bir dizidir.
- A[x,y,z] = state arraydeki tek bir biti temsil etmektedir.
- L[x,y] = her girişin 64-bitlik şerit olduğu 5*5 matris.
- s ile a arasındaki ilişkiyi kurmak istersek;
- s[64(5y + x) + z] = a[x; y; z]
SHA-3 Keccak-fFonksiyonu
SHA-3 Keccak-fFonksiyonu
- f fonksiyonu girdi olarak 1600-bitlik
bir durum değişkeni alır ve bunu
64-bitlik şeritlerden oluşan 5*5’lik matrise
dönüştürür.
- Bu matris daha sonra her turu 5 adımdan
oluşan 24 işlem turundan geçer.
- Bir tura R dersek;
θ (theta) Adımı
- 11 bitin toplamı orijinal bit ile XOR’a girmektedir.
- ⊕ bitin solundaki 5 bitlik kolon
- ⊕ bitin sağındaki 5 bitlik kolon ve 1 adım önündeki bit
θ (theta) Adımı
- C[x] = 𝑖=0
4
𝐿[𝑥, 𝑖] olsun.
- 𝑦=0
4
𝑎[(𝑥 − 1), 𝑦, 𝑧] : Söz dizisinin solundaki XOR işlemi
- 𝑦=0
4
𝑎[(𝑥 + 1), 𝑦, (𝑧 − 1)] : Söz dizisinin sağındaki ve 1 pozisyon önündeki bit için XOR
işlemi
- Sonrasında ROT(C[x + 1], 1) kadar döndürülmesi
ρ (rho) ve π (pi) Adımları
ρ (rho) ve π (pi) Adımları
- B[i,j] söz dizisi bit cinsinden ve A state array’den oluşturulmaktadır.
- r[x,y] ise döndürme sabitleri matrisi
- b=200 yani l=3 için ρ (rho)
ρ (rho) ve π (pi) Adımları
- Tek Bir Dilime Uygulanan π gösterimi
ρ (rho) ve π (pi) Adımları
- Pi ve rho adımlarını anlatacak olursak: A state arrayinin 25 şeridinin her birini
alırlar ki bu da w bitli sözcüklere karşılık gelmektedir ve sabit sayıda
konumda döndürürler (Rho Adımı). Sonrasında döndürülmüş olan şerit yeni B
dizisinde farklı bir konuma yerleştirilir (pi Adımı). (3,1) konumundaki şeridi
ele alacak olursak yani w-bit kelimesi A[3,1] demektir bu. Dönme sabitleri
tablosuna baktığımızda sözcük 55 bitlik konumlarla döndürülür. Döndürülen
sözcük daha sonra B[1, 2.3 + 3.1] = B[1,4] konumuna yerleştirilir. Buradaki 4
değeri mod 5 olduğu için elde edilir.
χ (chi) Adımı
- Yalnızca SHA-3 ‘ e ait bir non-linear mapping işlemidir.
- Chi adımında, önceki adımda hesaplanmış olan B dizisi manipüle edilir ve sonuç state array
A’ya yerleştirilir. Chi adımı şeritler(w-bit kelimeler) üzerinde çalışmaktadır.
- Burada B¯[i, j] değeri [i,j] konumundaki şeridin bit düzeyinde tümleyenini gösterir ve ∧, iki
işlenenin bit düzeyinde AND işlemidir.
- Diğer tüm adımlarda olduğu gibi, endeksler mod 5 alınmaktadır.
- İşlemi açıklayacak olursak, χ Adımlarının şeridi [x,y] konumundaki durumuyla, şeridin
[x+2,y] konumunun yine şeridin [x+1,y] konumuyla mantıksal AND işleminde sonra XOR
yapması olarak ifade edilebilir.
χ (chi) Adımı
Üst sıra B dizisinin beş şeridini temsil ederken, alt sıra A state arrayinin beş şeridini
göstermektedir.
ι (IOTA) Adımı
- Iota Adımı en basit adım olarak nitelendirilmektedir. A’nın [0,0] konumundaki şeridine
önceden tanımlı bir w-bit sabiti eklemektedir.
- Tur sabiti RC[i], yürütülmekte olan i turuna göre farklılık göstermektedir. SHA-3 için 𝑛𝑟 24
turdur.

More Related Content

Featured

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)
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 

Featured (20)

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
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

Sha3 keccakalgoritmasi

  • 2. TARİHÇE • 2006 Yılında NIST, yeni bir karma standart SHA 3 oluşturmak için NIST karma işlev yarışması düzenleyeceğini duyurdu. • 2008 ve 2009 yıllarında Keccak adaylardan biri olarak seçildi ve2010 yılında son tura yükseldi. • 2012 Yılında Keccak, SHA-3 yarışmasının galibi seçildi. • 2015 Yılında NIST, SHA-3'ün karma bir standart haline geldiğini açıkladı.
  • 3. SHA-3 NIST, SHA-2'ye yapılan önemli bir saldırı ortaya çıkmadığı için SHA-2'yi SHA-3 ile değiştirmek istemedi. SHA-1'e yapılan teorik saldırı olan MD-5 ve SHA-0 algoritmalarının kırılması nedeniyle NIST, SHA-2'den farklı olarak alternatif olarak güvenli bir karma bulmaya çalıştı ve bu da SHA-3 algoritması oldu.
  • 4. NEDEN KECCAK? TEMİZ DİZAYN/TASARIM EN İYİ PERFORMANS TASARIM ÇEŞİTLİLİĞİ YÜKSEK GÜVENLİK
  • 5. SÜNGER YAPISI SHA-3 algoritmasının temeli sünger yapısı olarak adlandırılan yapıya dayanmaktadır. Sünger Yapısı: • F: Her giriş bloğunu işlemek için kullanılan fonksiyon. • R: Bit hızı olarak adlandırılan giriş bloğunun bit boyutu. • Pad: Dolgu algoritması
  • 6. SÜNGERYAPISI N bitlik bir giriş, her biri r bitinin k sabit boyutlu bloklarına bölünecektir. Örneğin: Input = P0||P1||...||Pk−1 where Pi is r-bit, Input is n-bit, and so n = r × k
  • 7. SÜNGER YAPISI SHA-3'te her zaman bir dolgu eklenir, n mod r = 0 durumunda, bir r bit dolgu bloğu eklenir. Sünger yapısında iki dolgu algoritması sağlanır. • Basit Dolgu: Elde edilen r x k bit olacak şekilde M mesajına 10* ekler. • Çok Oranlı Dolgu: Elde edilen r x k bit olacak şekilde M mesajına 10*1 ekler. İşlemden sonra, Sünger işlevi Z0, Z1, blok dizisini oluşturur..., Çıkış olarak Zj−1, burada j, istenen çıkış l bit ise (j − 1) × r <l ≤ j × r olacak şekilde çıkış bloklarının sayısıdır.
  • 9. SÜNGER YAPISI Sünger yapısının her yinelemesinde, sünger, tüm sıfırlara başlatılan b = r + c bitlerinin bir durum değişkeni s üzerinde çalışır. R'nin bit hızı olduğunu ve c'nin ulaşılabilir güvenlik seviyesi olan kapasite olarak adlandırılır. Sünger yapısı iki aşamadan oluşmaktadır: • Emici faz • Sıkma fazı
  • 10. SÜNGER YAPISI SHA-3 için varsayılan değerlerde c=1024 r=576’dır ve dolayısıyla b= r+c ‘den b=1600 olur.
  • 11. SHA-3Keccak-fFonksiyonu - Her b-bit tamsayısı bijektif bir şekilde bir b-bit tamsayısına eşlenmektedir. - Buradaki -f ikinci ismini almasının ardındaki olay, fonksiyon 2^b giriş değerlerini değiş tokuş(permüte) etmektedir. - Burada fonksiyon 𝑛𝑟 adet turdan oluşmaktadır. Her bir tur b = r + c bitlerinden oluşan girişe sahiptir. Tur sayısı “l” parametresine bağlıdır: - 𝑛𝑟 = 12 + 2𝑙 𝑏 = 25 ∗ 2𝑙 l= 0,1,2,3,4,5,6
  • 12. SHA-3 Keccak-fFonksiyonu - f-fonksiyonu az önce 2^b dediğimiz giriş değerleri alır. Bunu s olarak ifade edersek; - SHA-3 için bu state array 5*5*64 bitlik bir dizidir. - A[x,y,z] = state arraydeki tek bir biti temsil etmektedir. - L[x,y] = her girişin 64-bitlik şerit olduğu 5*5 matris. - s ile a arasındaki ilişkiyi kurmak istersek; - s[64(5y + x) + z] = a[x; y; z]
  • 14. SHA-3 Keccak-fFonksiyonu - f fonksiyonu girdi olarak 1600-bitlik bir durum değişkeni alır ve bunu 64-bitlik şeritlerden oluşan 5*5’lik matrise dönüştürür. - Bu matris daha sonra her turu 5 adımdan oluşan 24 işlem turundan geçer. - Bir tura R dersek;
  • 15. θ (theta) Adımı - 11 bitin toplamı orijinal bit ile XOR’a girmektedir. - ⊕ bitin solundaki 5 bitlik kolon - ⊕ bitin sağındaki 5 bitlik kolon ve 1 adım önündeki bit
  • 16. θ (theta) Adımı - C[x] = 𝑖=0 4 𝐿[𝑥, 𝑖] olsun. - 𝑦=0 4 𝑎[(𝑥 − 1), 𝑦, 𝑧] : Söz dizisinin solundaki XOR işlemi - 𝑦=0 4 𝑎[(𝑥 + 1), 𝑦, (𝑧 − 1)] : Söz dizisinin sağındaki ve 1 pozisyon önündeki bit için XOR işlemi - Sonrasında ROT(C[x + 1], 1) kadar döndürülmesi
  • 17. ρ (rho) ve π (pi) Adımları
  • 18. ρ (rho) ve π (pi) Adımları - B[i,j] söz dizisi bit cinsinden ve A state array’den oluşturulmaktadır. - r[x,y] ise döndürme sabitleri matrisi - b=200 yani l=3 için ρ (rho)
  • 19. ρ (rho) ve π (pi) Adımları - Tek Bir Dilime Uygulanan π gösterimi
  • 20. ρ (rho) ve π (pi) Adımları - Pi ve rho adımlarını anlatacak olursak: A state arrayinin 25 şeridinin her birini alırlar ki bu da w bitli sözcüklere karşılık gelmektedir ve sabit sayıda konumda döndürürler (Rho Adımı). Sonrasında döndürülmüş olan şerit yeni B dizisinde farklı bir konuma yerleştirilir (pi Adımı). (3,1) konumundaki şeridi ele alacak olursak yani w-bit kelimesi A[3,1] demektir bu. Dönme sabitleri tablosuna baktığımızda sözcük 55 bitlik konumlarla döndürülür. Döndürülen sözcük daha sonra B[1, 2.3 + 3.1] = B[1,4] konumuna yerleştirilir. Buradaki 4 değeri mod 5 olduğu için elde edilir.
  • 21. χ (chi) Adımı - Yalnızca SHA-3 ‘ e ait bir non-linear mapping işlemidir. - Chi adımında, önceki adımda hesaplanmış olan B dizisi manipüle edilir ve sonuç state array A’ya yerleştirilir. Chi adımı şeritler(w-bit kelimeler) üzerinde çalışmaktadır. - Burada B¯[i, j] değeri [i,j] konumundaki şeridin bit düzeyinde tümleyenini gösterir ve ∧, iki işlenenin bit düzeyinde AND işlemidir. - Diğer tüm adımlarda olduğu gibi, endeksler mod 5 alınmaktadır. - İşlemi açıklayacak olursak, χ Adımlarının şeridi [x,y] konumundaki durumuyla, şeridin [x+2,y] konumunun yine şeridin [x+1,y] konumuyla mantıksal AND işleminde sonra XOR yapması olarak ifade edilebilir.
  • 22. χ (chi) Adımı Üst sıra B dizisinin beş şeridini temsil ederken, alt sıra A state arrayinin beş şeridini göstermektedir.
  • 23. ι (IOTA) Adımı - Iota Adımı en basit adım olarak nitelendirilmektedir. A’nın [0,0] konumundaki şeridine önceden tanımlı bir w-bit sabiti eklemektedir. - Tur sabiti RC[i], yürütülmekte olan i turuna göre farklılık göstermektedir. SHA-3 için 𝑛𝑟 24 turdur.