SlideShare a Scribd company logo
1 of 82
Download to read offline
SHA-3 vs the world
David Wong
Snefru
MD2
MD4
MD5
RIPEMD
HAVAL-128
SHA-0
SHA-1
RIPEMD-160
SHA-2
1992
1994
1990 1994
1991
1996
20041995
1999
1997
2004
2012
2007
2003
2016
2001 2003
2003
2003
http://valerieaurora.org/hash.html
KeccakBLAKE, Grøstl, JH, Skein
f
permutation-based cryptography
Sponge Construction
f
0
0
Sponge Construction
r
c
f
message
0
0
⊕
Sponge Construction
f
message
0
0
⊕ ⊕
Sponge Construction
f
message
0
0
⊕ ⊕
f
Sponge Construction
f
message
0
0
⊕ ⊕
f
⊕
Sponge Construction
f
message
0
0
⊕ ⊕
f
⊕
f
Sponge Construction
f
message
⊕ ⊕
f
⊕
f
absorbing
Sponge Construction
0
0
f
message
⊕ ⊕
f
⊕
f
absorbing
output
Sponge Construction
0
0
f
message
⊕ ⊕
f
⊕
f
absorbing
output
f
Sponge Construction
0
0
f
message
⊕ ⊕
f
⊕
f
absorbing
output
f
Sponge Construction
0
0
f
message
⊕ ⊕
f
⊕
f
absorbing
output
f f
Sponge Construction
0
0
f
message
⊕ ⊕
f
⊕
f
absorbing
output
f f
squeezing
Sponge Construction
0
0
f
message
⊕ ⊕
absorbing
output
f f
squeezing
Sponge Construction
24 rounds in SHA-3
0
0
Keccak
Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche
SHA-3 competition
2012
2007
SHA-3 competition
2012
2007
BLAKE2
SHA-3 competition
2012
2007
BLAKE2
SHA-3 standard (FIPS 202) 2015
github.com/gvanas/KeccakCodePackage
• bit security of AES-128?
• bit security of AES-256?
• bit security against pre-image attacks of SHA-256?
• bit security against pre-image attacks of SHA-512?
• bit security against pre-image attacks of SHA-3-512?
Bit Security
Where is SHA-3 being used?
SHAKE is a XOF
keccak.noekeon.org/tune.html
SHA-3 competition
2012
2007
BLAKE2
SHA-3 standard (FIPS 202) 2015
SP 800-185 2016
KMAC
TupleHash
ParallelHash
KMAC
TupleHash
ParallelHash
message || SHA-256(message)
KMAC
TupleHash
ParallelHash
message || SHA-256(key||message)
KMAC
TupleHash
ParallelHash
message || more || SHA-256(key||message||more)
KMAC
TupleHash
ParallelHash
message || SHAKE(key || message)
KMAC
TupleHash
ParallelHash
message || SHAKE(key || message)
my RSA public key = (e, N)
KMAC
TupleHash
ParallelHash
message || SHAKE(key || message)
my RSA public key = (e, N)
fingerprint = SHA-256(e || N)
KMAC
TupleHash
ParallelHash
message || SHAKE(key || message)
fingerprint1 = SHA-256(1010110000000010001…)
e N
KMAC
TupleHash
ParallelHash
message || SHAKE(key || message)
fingerprint1 = SHA-256(1010110000000010001…)
e N
fingerprint2 = SHA-256(1010110000000010001…)
e N
KMAC
TupleHash
ParallelHash
message || SHAKE(key || message)
SHAKE(len(e) || e || len(N) || N)
f
message
⊕ ⊕
f
⊕
f
absorbing
output
f f
squeezing
Sponge Construction
0
0
f
message
⊕ ⊕
f
⊕
f
absorbing
output
f f
squeezing
Sponge Construction
0
0
f
message
⊕ ⊕
f
⊕
f
absorbing
output
f f
squeezing
Sponge Construction
0
0
f
message
⊕ ⊕
f
⊕
f
absorbing
output
f f
squeezing
Sponge Construction
0
0
KMAC
TupleHash
ParallelHash
message || SHAKE(key || message)
SHAKE(len(e) || e || len(N) || N)
SHAKE(SHAKE(b1) || SHAKE(b2) || SHAKE(b3) || …)
SHA-3 competition
2012
2007
BLAKE2
SHA-3 / SHAKE 2015
TupleHash / ParallelHash / KMAC 2016
Keyak and Ketje
SHA-3 competition
2012
2007
BLAKE2
SHA-3 / SHAKE 2015
TupleHash / ParallelHash / KMAC 2016
KangarooTwelve
& MarsupilamiFourteen
SHA-3 competition
2012
2007
BLAKE2
SHA-3 / SHAKE 2015
TupleHash / ParallelHash / KMAC 2016
KangarooTwelve
& MarsupilamiFourteen
github.com/gvanas/KeccakCodePackage
Part II: Strobe
f
message
⊕ ⊕
f
⊕
f
absorbing
output
f f
squeezing
Sponge Construction
0
0
f
input
⊕
init
output
duplexing
Duplex Construction
f
input
⊕
output
duplexing
f
input output
duplexing
⊕0
0
myProtocol = Strobe_init(“myWebsite.com”)
myProtocol.KEY(sharedSecret)
buffer += myProtocol.send_ENC(“GET /”)
buffer += myProtocol.send_MAC(len=16)
// send the buffer
// receive a ciphertext
message = myProtocol.recv_ENC(ciphertext[:-16])
ok = myProtocol.recv_MAC(ciphertext[-16:])
if !ok {
// reset the connection
}
Symmetric Protocol
default
state = input ⊕ state
cbefore
state = input
cafter
output, state = input ⊕ state
forceF
the permutation is ran before the operation
internal operations
operation = KEY
⊕
f
operation = KEY
⊕
f
operation = KEY
data = 010100…
⊕
f
operation = KEY operation = send_ENC
⊕
f
data = 010100…
⊕
data = hello
⊕
ciphertext
data = 010100…
⊕
operation = AD
⊕
data = 010100…
operation = send_MAC
f
⊕ ⊕
len = 16
tag
operation = AD
⊕
data = 010100…
⊕
operation = send_CLR
⊕
data = 010100…
operation = RATCHET
f
⊕ ⊕
operation = send_CLR
⊕
data = 00000
myHash = Strobe_init(“hash”)
myHash.AD(“something to be hashed”)
hash = myHash.PRF(outputLen=16)
Hash Function
KDF = Strobe_init(“deriving keys”)
KDF.KEY(keyExchangeOutput)
keys = KDF.PRF(outputLen=32)
key1 = keys[:16]
key2 = keys[16:]
Key Derivation Function
strobe.sourceforge.io
Part III: Disco?
github.com/mimoo/NoiseGo/disco/specification.md
Noise + Strobe = Disco
Where to find me
cryptologie.net
twitter.com/lyon01_david

More Related Content

Recently uploaded

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Recently uploaded (20)

Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 

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)
 

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
 

SHA-3 vs the world