Keccak

Keccak
Presenters:
Pratheep Joe Siluvai
Rajeev Verma
Overview
● Introduction to Hash function.
● Secure Hash Algorithm (SHA)
● SHA-3/Keccak
○ Design approach
○ Inside Keccak
○ Parts of Keccak-f
● Application & Strength
● Efficiency
● Our work
● References
Hashing and Hash Function
• Hashing is the transformation of a string of characters into a usually
shorter fixed-length value or key that represents the original string.
• In addition to faster data retrieval, hashing is also used to encrypt and
decrypt digital signatures.
• The hashing algorithm is called the Hash Function which generates hash
codes.
• Hash codes are stored in a table called hash table.
Hash function
• Algorithm that takes an arbitrary block of data and returns a fixed-size bit
string.
• Used from digital signature to git repository to peer to peer transmission.
• Encoded data is called the "message," and the hash value is sometimes
called the “message digest” or simply “digest”.
MD5 MD = 128 (Ron Rivest, 1992)
SHA-1 MD = 160 (NSA, NIST, 1995)
SHA-2 MD = 224/256/384/512 (NSA, NIST, 2001)
Secure Hash Algorithms (SHA’s)
• Family of cryptographic hash functions published by the National Institute
of Standards and Technology (NIST)
• SHA defines as U.S. Federal Information Processing Standard (FIPS)
• SHA determine the integrity of a message. So, that any change in the
message in the message result in different hash values with high
probability.
• Steps for SHA :
– Preprocessing : Padding the data for blocking
– Hash Computation : Process blocks using the hash function.
SHA basics
SHA History
SHA–3 / Keccak
● Selected on October 2012 as the winner of the NIST hash
function competition
● Not only a hash function.
● Based on the sponge function.
● Not meant to replace SHA-2.
Keccak Team
Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche
Keccak, a sponge function
● Variable input and output length
● More Flexible than regular hash function
● Parameters
○ r bits– rate (defines the speed)
○ c bits – capacity (defines the security level)
Design Approach
● Instantiate a sponge function
● Select the capacity and rate parameters
○ capacity + rate = 1600
● Rata and capacity decides the strength.
● Building an iterated permutation
● Like a block cipher
○ Sequence of identical rounds
○ Round consists of sequence of simple step mappings
● No key Schedule , instead round constants
Capacity Rate Strength
256 1344 128
384 1216 192
512 1088 256
Inside Keccak
● The permutation Keccak-f
○ 7 permutations: b → {25, 50, 100, 200, 400, 800,
1600}
● Uses 24 permutation rounds
○ Each round invokes 5 modules
○ Theta(θ), rho(ρ), Pi(Π), Chi(χ), iota(ϊ)
Pieces of states
Note : State is 5x5x64
bits block.
Theta
● Renders the internal state into a 5-by-5 array of 64-bit elements.
● Computes the parities of each column and combines them with an
exclusive-or (XOR) operator.
● Then it XORs the resulting parity to each state bit as follows:
S[i][j][k] ^= parity(S[0...4][j-1][k]) ^ parity(S[0...4][j+1][k-1])
where i = 0...4; j = 0...4; k = 0...63
Rho
• The rho module rotates each 64-bit element by a triangular number
0, 1, 3, 6, 10, 15, …..
Pi
• The pi module permutes the 64-bit elements.
• Permutation follows the fixed pattern assignment shown below:
S[j][2*i + 3*j] = S[i][j]
Chi
• The chi module adds a non-linear aspect to the permutation round.
• It combines the row elements using only three bitwise
operators: AND, NOT, and XOR.
• Then it writes the result back to the state array as follows:
S[i][j][k] ^= ~S[i][j + 1][k] & S[i][j + 2][k]
Iota
● The iota module breaks up any symmetry caused by the
other modules.
● This is done by XORing one of the array elements to a
round constant
● The module has 24 round constants to choose from.
These constants are defined internally by Keccak
● Without ϊ , the round mapping would be symmetric
● Without ϊ , all rounds would be the same
○ susceptibility to slide attacks
○ defective cycle structure
Code Reference
Keccak-f[b](A) {
forall i in 0…nr
-1
A = Round[b](A, RC[i])
return A
}
Round[b](A,RC) {
θ step
C[x] = A[x,0] xor A[x,1] xor A[x,2] xor A[x,3] xor A[x,4], forall x in 0…4
D[x] = C[x-1] xor rot(C[x+1],1), forall x in 0…4
A[x,y] = A[x,y] xor D[x], forall (x,y) in (0…4,0…4)
ρ and π steps
B[y,2*x+3*y] = rot(A[x,y], r[x,y]), forall (x,y) in (0…4,0…4)
χ step
A[x,y] = B[x,y] xor ((not B[x+1,y]) and B[x+2,y]), forall (x,y) in (0…4,0…4)
ι step
A[0,0] = A[0,0] xor RC
return A
}
Keccak Summary
• Round function:
R = (ϊ) XOR (χ) XOR (Π) XOR (ρ) XOR (θ)
• Number of rounds: 12 + 2ℓ
– Keccak-f[25] has 12 rounds
– Keccak-f[1600] has 24 rounds
• Efficiency
– high level of parallelism
– flexibility: bit-interleaving
– software: competitive on wide range of CPU
– dedicated hardware: very competitive
– suited for protection against side-channel attack
Applications
• Regular hashing
– Electronic signatures
– Data integrity
– Data identifier
• Salted hashing (more complex security measure)
– Randomized hashing
– Password Storage and verification
• Message Authentication Code (MAC)
• Single Pass authenticated encryption
– Authentication and Encryption in a single pass
– Secure messaging ( SSL, TLS, SSH,…. )
– Version control systems.
• Reseedable Pseudorandom sequence generator
Strength of Keccak
• High level of parallelism
• Flexibility: bit-interleaving
• Software: competitive on wide range of
CPU (also implem. for CUDA)
• Dedicated hardware: very competitive
• Suited for protection against side-channel
attack
• Faster than SHA-2 on all modern PC
Efficiency
Our Work
• Keccak source code is available for public access.
• Keccak hash function implementation on microblaze and
analyze the hardware performance to perform hashing.
• Analysing the the factors like timing/clock cycles for
different bit-rate and capacity factors.
References
● J.-P. Aumasson and D. Khovratovich, First analysis of Keccak, Available online,
2009, http://131002.net/data/papers/AK09.pdf.
● Online Keccak reference site, http://keccak.noekeon.org/
● G. Bertoni, J. Daemen, M. Peeters, G. Van Assche and R. Van Keer, Keccak
implementation overview, round 3 submission to NIST SHA-3, 2011
Thank you
1 of 26

Recommended

SHA-3, Keccak & Sponge function by
SHA-3, Keccak & Sponge functionSHA-3, Keccak & Sponge function
SHA-3, Keccak & Sponge functionGennaro Caccavale
8.9K views18 slides
Sha3 by
Sha3Sha3
Sha3Jyun-Yao Huang
7.7K views30 slides
SHA-3 by
SHA-3SHA-3
SHA-3rokham khawaja
260 views14 slides
Elliptic Curve Cryptography and Zero Knowledge Proof by
Elliptic Curve Cryptography and Zero Knowledge ProofElliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofArunanand Ta
6K views58 slides
Authenticated Encryption Gcm Ccm by
Authenticated Encryption Gcm CcmAuthenticated Encryption Gcm Ccm
Authenticated Encryption Gcm CcmVittorio Giovara
5.6K views48 slides
Symmetric encryption by
Symmetric encryptionSymmetric encryption
Symmetric encryptionDR RICHMOND ADEBIAYE
3.4K views40 slides
Hash function by
Hash functionHash function
Hash functionHarry Potter
6.1K views35 slides
SHA 1 Algorithm by
SHA 1 AlgorithmSHA 1 Algorithm
SHA 1 AlgorithmShiva RamDam
1.9K views22 slides

More Related Content

What's hot

CNS - Unit - 4 - Public Key Cryptosystem by
CNS - Unit - 4 - Public Key Cryptosystem CNS - Unit - 4 - Public Key Cryptosystem
CNS - Unit - 4 - Public Key Cryptosystem Gyanmanjari Institute Of Technology
381 views29 slides
Ch04 by
Ch04Ch04
Ch04Joe Christensen
2.1K views30 slides
2. Stream Ciphers by
2. Stream Ciphers2. Stream Ciphers
2. Stream CiphersSam Bowne
7.7K views31 slides
Hash Function by
Hash Function Hash Function
Hash Function ssuserdfb2da
277 views39 slides
Enabling new protocol processing with DPDK using Dynamic Device Personalization by
Enabling new protocol processing with DPDK using Dynamic Device PersonalizationEnabling new protocol processing with DPDK using Dynamic Device Personalization
Enabling new protocol processing with DPDK using Dynamic Device PersonalizationMichelle Holley
3.1K views33 slides
Introduction to the LLVM Compiler System by
Introduction to the LLVM  Compiler SystemIntroduction to the LLVM  Compiler System
Introduction to the LLVM Compiler Systemzionsaint
4.1K views55 slides
Introduction - Lattice-based Cryptography by
Introduction - Lattice-based CryptographyIntroduction - Lattice-based Cryptography
Introduction - Lattice-based CryptographyAlexandre Augusto Giron
1.2K views47 slides
Diffie hellman key exchange algorithm by
Diffie hellman key exchange algorithmDiffie hellman key exchange algorithm
Diffie hellman key exchange algorithmSunita Kharayat
1.5K views23 slides
Cryptographic Hashing Functions by
Cryptographic Hashing FunctionsCryptographic Hashing Functions
Cryptographic Hashing FunctionsYusuf Uzun
2.7K views15 slides
Hash Function by
Hash FunctionHash Function
Hash FunctionSiddharth Srivastava
24.3K views32 slides
Rc4 by
Rc4Rc4
Rc4Amjad Rehman
4.4K views28 slides
Lattice Cryptography by
Lattice CryptographyLattice Cryptography
Lattice CryptographyPriyanka Aash
1.4K views41 slides
Homomorphic Encryption by
Homomorphic EncryptionHomomorphic Encryption
Homomorphic EncryptionVictor Pereira
4.3K views20 slides
Message Authentication Code & HMAC by
Message Authentication Code & HMACMessage Authentication Code & HMAC
Message Authentication Code & HMACKrishna Gehlot
16.5K views20 slides
Crash course in verilog by
Crash course in verilogCrash course in verilog
Crash course in verilogPantech ProLabs India Pvt Ltd
13.2K views87 slides
SSL And TLS by
SSL And TLS SSL And TLS
SSL And TLS Ghanshyam Patel
2.5K views54 slides
The rsa algorithm JooSeok Song by
The rsa algorithm JooSeok SongThe rsa algorithm JooSeok Song
The rsa algorithm JooSeok SongInformation Security Awareness Group
1.8K views31 slides
CNIT 141 8. Authenticated Encryption by
CNIT 141 8. Authenticated EncryptionCNIT 141 8. Authenticated Encryption
CNIT 141 8. Authenticated EncryptionSam Bowne
228 views56 slides
Secure hashing algorithm by
Secure hashing algorithmSecure hashing algorithm
Secure hashing algorithmKarteek Paruchuri
23.2K views16 slides
Encryption algorithms by
Encryption algorithmsEncryption algorithms
Encryption algorithmstrilokchandra prakash
2.6K views37 slides

What's hot (20)

2. Stream Ciphers by Sam Bowne
2. Stream Ciphers2. Stream Ciphers
2. Stream Ciphers
Sam Bowne7.7K views
Enabling new protocol processing with DPDK using Dynamic Device Personalization by Michelle Holley
Enabling new protocol processing with DPDK using Dynamic Device PersonalizationEnabling new protocol processing with DPDK using Dynamic Device Personalization
Enabling new protocol processing with DPDK using Dynamic Device Personalization
Michelle Holley3.1K views
Introduction to the LLVM Compiler System by zionsaint
Introduction to the LLVM  Compiler SystemIntroduction to the LLVM  Compiler System
Introduction to the LLVM Compiler System
zionsaint4.1K views
Diffie hellman key exchange algorithm by Sunita Kharayat
Diffie hellman key exchange algorithmDiffie hellman key exchange algorithm
Diffie hellman key exchange algorithm
Sunita Kharayat1.5K views
Cryptographic Hashing Functions by Yusuf Uzun
Cryptographic Hashing FunctionsCryptographic Hashing Functions
Cryptographic Hashing Functions
Yusuf Uzun2.7K views
Message Authentication Code & HMAC by Krishna Gehlot
Message Authentication Code & HMACMessage Authentication Code & HMAC
Message Authentication Code & HMAC
Krishna Gehlot16.5K views
CNIT 141 8. Authenticated Encryption by Sam Bowne
CNIT 141 8. Authenticated EncryptionCNIT 141 8. Authenticated Encryption
CNIT 141 8. Authenticated Encryption
Sam Bowne228 views

Viewers also liked

The SHA Hashing Algorithm by
The SHA Hashing AlgorithmThe SHA Hashing Algorithm
The SHA Hashing AlgorithmBob Landstrom
1.8K views12 slides
Fota Delta Size Reduction Using FIle Similarity Algorithms by
Fota Delta Size Reduction Using FIle Similarity AlgorithmsFota Delta Size Reduction Using FIle Similarity Algorithms
Fota Delta Size Reduction Using FIle Similarity AlgorithmsShivansh Gaur
799 views5 slides
Fungsi Hash & Algoritma SHA-256 by
Fungsi Hash & Algoritma SHA-256Fungsi Hash & Algoritma SHA-256
Fungsi Hash & Algoritma SHA-256Aditya Gusti Tammam
12.6K views19 slides
Fungsi Hash & Algoritma SHA-256 - Presentation by
Fungsi Hash & Algoritma SHA-256 - PresentationFungsi Hash & Algoritma SHA-256 - Presentation
Fungsi Hash & Algoritma SHA-256 - PresentationAditya Gusti Tammam
3.2K views82 slides
Secure Hash Algorithm (SHA-512) by
Secure Hash Algorithm (SHA-512)Secure Hash Algorithm (SHA-512)
Secure Hash Algorithm (SHA-512)DUET
52.9K views22 slides
Hash Function & Analysis by
Hash Function & AnalysisHash Function & Analysis
Hash Function & AnalysisPawandeep Kaur
5.6K views39 slides
Secure Hash Algorithm by
Secure Hash AlgorithmSecure Hash Algorithm
Secure Hash AlgorithmVishakha Agarwal
56.6K views20 slides
Deduplication in Open Spurce Cloud by
Deduplication in Open Spurce CloudDeduplication in Open Spurce Cloud
Deduplication in Open Spurce CloudMangali Praveen Kumar
1.4K views17 slides

Viewers also liked (8)

The SHA Hashing Algorithm by Bob Landstrom
The SHA Hashing AlgorithmThe SHA Hashing Algorithm
The SHA Hashing Algorithm
Bob Landstrom1.8K views
Fota Delta Size Reduction Using FIle Similarity Algorithms by Shivansh Gaur
Fota Delta Size Reduction Using FIle Similarity AlgorithmsFota Delta Size Reduction Using FIle Similarity Algorithms
Fota Delta Size Reduction Using FIle Similarity Algorithms
Shivansh Gaur799 views
Fungsi Hash & Algoritma SHA-256 - Presentation by Aditya Gusti Tammam
Fungsi Hash & Algoritma SHA-256 - PresentationFungsi Hash & Algoritma SHA-256 - Presentation
Fungsi Hash & Algoritma SHA-256 - Presentation
Aditya Gusti Tammam3.2K views
Secure Hash Algorithm (SHA-512) by DUET
Secure Hash Algorithm (SHA-512)Secure Hash Algorithm (SHA-512)
Secure Hash Algorithm (SHA-512)
DUET52.9K views

Similar to Keccak

ImplementingCryptoSecurityARMCortex_Doin by
ImplementingCryptoSecurityARMCortex_DoinImplementingCryptoSecurityARMCortex_Doin
ImplementingCryptoSecurityARMCortex_DoinJonny Doin
303 views36 slides
Overview on Cryptography and Network Security by
Overview on Cryptography and Network SecurityOverview on Cryptography and Network Security
Overview on Cryptography and Network SecurityDr. Rupa Ch
6.6K views166 slides
IDEA.ppt by
IDEA.pptIDEA.ppt
IDEA.pptDummyAccountRahulSin
7 views52 slides
HBaseCon 2015: OpenTSDB and AsyncHBase Update by
HBaseCon 2015: OpenTSDB and AsyncHBase UpdateHBaseCon 2015: OpenTSDB and AsyncHBase Update
HBaseCon 2015: OpenTSDB and AsyncHBase UpdateHBaseCon
7.7K views37 slides
Information and data security cryptographic hash functions by
Information and data security cryptographic hash functionsInformation and data security cryptographic hash functions
Information and data security cryptographic hash functionsMazin Alwaaly
550 views31 slides
Apache Tajo: Query Optimization Techniques and JIT-based Vectorized Engine by
Apache Tajo: Query Optimization Techniques and JIT-based Vectorized EngineApache Tajo: Query Optimization Techniques and JIT-based Vectorized Engine
Apache Tajo: Query Optimization Techniques and JIT-based Vectorized EngineDataWorks Summit
2.8K views34 slides
Stevens 3rd Annual Conference Hfc2011 by
Stevens 3rd Annual Conference Hfc2011Stevens 3rd Annual Conference Hfc2011
Stevens 3rd Annual Conference Hfc2011jzw200
289 views15 slides
Fundamentals of Information Encryption by
Fundamentals of Information EncryptionFundamentals of Information Encryption
Fundamentals of Information EncryptionAmna Magzoub
852 views67 slides
Cache aware hybrid sorter by
Cache aware hybrid sorterCache aware hybrid sorter
Cache aware hybrid sorterManchor Ko
1.1K views43 slides
Blockchain, cryptography and tokens — NYC Bar presentation by
Blockchain, cryptography and tokens — NYC Bar presentationBlockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentationPaperchain
597 views44 slides
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ... by
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...Gruter
13.5K views34 slides
Outrageous Performance: RageDB's Experience with the Seastar Framework by
Outrageous Performance: RageDB's Experience with the Seastar FrameworkOutrageous Performance: RageDB's Experience with the Seastar Framework
Outrageous Performance: RageDB's Experience with the Seastar FrameworkScyllaDB
346 views34 slides
Machine learning at Scale with Apache Spark by
Machine learning at Scale with Apache SparkMachine learning at Scale with Apache Spark
Machine learning at Scale with Apache SparkMartin Zapletal
3.6K views63 slides
Js2517181724 by
Js2517181724Js2517181724
Js2517181724IJERA Editor
192 views7 slides
Js2517181724 by
Js2517181724Js2517181724
Js2517181724IJERA Editor
123 views7 slides
Aes by
AesAes
AesManju Hegde
581 views15 slides
FPGA design with CλaSH by
FPGA design with CλaSHFPGA design with CλaSH
FPGA design with CλaSHConrad Parker
4.2K views21 slides
Paralell by
ParalellParalell
ParalellMark Vicuna
435 views31 slides
chap13-digitalsignature.pdf by
chap13-digitalsignature.pdfchap13-digitalsignature.pdf
chap13-digitalsignature.pdfShilpachaudhari10
5 views32 slides
Information and data security pseudorandom number generation and stream cipher by
Information and data security pseudorandom number generation and stream cipherInformation and data security pseudorandom number generation and stream cipher
Information and data security pseudorandom number generation and stream cipherMazin Alwaaly
447 views30 slides

Similar to Keccak (20)

ImplementingCryptoSecurityARMCortex_Doin by Jonny Doin
ImplementingCryptoSecurityARMCortex_DoinImplementingCryptoSecurityARMCortex_Doin
ImplementingCryptoSecurityARMCortex_Doin
Jonny Doin303 views
Overview on Cryptography and Network Security by Dr. Rupa Ch
Overview on Cryptography and Network SecurityOverview on Cryptography and Network Security
Overview on Cryptography and Network Security
Dr. Rupa Ch6.6K views
HBaseCon 2015: OpenTSDB and AsyncHBase Update by HBaseCon
HBaseCon 2015: OpenTSDB and AsyncHBase UpdateHBaseCon 2015: OpenTSDB and AsyncHBase Update
HBaseCon 2015: OpenTSDB and AsyncHBase Update
HBaseCon7.7K views
Information and data security cryptographic hash functions by Mazin Alwaaly
Information and data security cryptographic hash functionsInformation and data security cryptographic hash functions
Information and data security cryptographic hash functions
Mazin Alwaaly550 views
Apache Tajo: Query Optimization Techniques and JIT-based Vectorized Engine by DataWorks Summit
Apache Tajo: Query Optimization Techniques and JIT-based Vectorized EngineApache Tajo: Query Optimization Techniques and JIT-based Vectorized Engine
Apache Tajo: Query Optimization Techniques and JIT-based Vectorized Engine
DataWorks Summit2.8K views
Stevens 3rd Annual Conference Hfc2011 by jzw200
Stevens 3rd Annual Conference Hfc2011Stevens 3rd Annual Conference Hfc2011
Stevens 3rd Annual Conference Hfc2011
jzw200289 views
Fundamentals of Information Encryption by Amna Magzoub
Fundamentals of Information EncryptionFundamentals of Information Encryption
Fundamentals of Information Encryption
Amna Magzoub852 views
Cache aware hybrid sorter by Manchor Ko
Cache aware hybrid sorterCache aware hybrid sorter
Cache aware hybrid sorter
Manchor Ko1.1K views
Blockchain, cryptography and tokens — NYC Bar presentation by Paperchain
Blockchain, cryptography and tokens — NYC Bar presentationBlockchain, cryptography and tokens — NYC Bar presentation
Blockchain, cryptography and tokens — NYC Bar presentation
Paperchain597 views
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ... by Gruter
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
Hadoop Summit 2014: Query Optimization and JIT-based Vectorized Execution in ...
Gruter13.5K views
Outrageous Performance: RageDB's Experience with the Seastar Framework by ScyllaDB
Outrageous Performance: RageDB's Experience with the Seastar FrameworkOutrageous Performance: RageDB's Experience with the Seastar Framework
Outrageous Performance: RageDB's Experience with the Seastar Framework
ScyllaDB346 views
Machine learning at Scale with Apache Spark by Martin Zapletal
Machine learning at Scale with Apache SparkMachine learning at Scale with Apache Spark
Machine learning at Scale with Apache Spark
Martin Zapletal3.6K views
FPGA design with CλaSH by Conrad Parker
FPGA design with CλaSHFPGA design with CλaSH
FPGA design with CλaSH
Conrad Parker4.2K views
Information and data security pseudorandom number generation and stream cipher by Mazin Alwaaly
Information and data security pseudorandom number generation and stream cipherInformation and data security pseudorandom number generation and stream cipher
Information and data security pseudorandom number generation and stream cipher
Mazin Alwaaly447 views

Recently uploaded

CCNA_questions_2021.pdf by
CCNA_questions_2021.pdfCCNA_questions_2021.pdf
CCNA_questions_2021.pdfVUPHUONGTHAO9
14 views196 slides
AWS Certified Solutions Architect Associate Exam Guide_published .pdf by
AWS Certified Solutions Architect Associate Exam Guide_published .pdfAWS Certified Solutions Architect Associate Exam Guide_published .pdf
AWS Certified Solutions Architect Associate Exam Guide_published .pdfKiran Kumar Malik
6 views121 slides
Module-1, Chapter-2 Data Types, Variables, and Arrays by
Module-1, Chapter-2 Data Types, Variables, and ArraysModule-1, Chapter-2 Data Types, Variables, and Arrays
Module-1, Chapter-2 Data Types, Variables, and ArraysDemian Antony D'Mello
26 views44 slides
DevFest 2023 Daegu Speech_이재규, Implementing easy and simple chat with gol... by
DevFest 2023 Daegu Speech_이재규,  Implementing easy and simple chat with gol...DevFest 2023 Daegu Speech_이재규,  Implementing easy and simple chat with gol...
DevFest 2023 Daegu Speech_이재규, Implementing easy and simple chat with gol...JQLEE6
16 views31 slides
Solution Challenge Info Session Presentation by
Solution Challenge Info Session PresentationSolution Challenge Info Session Presentation
Solution Challenge Info Session PresentationAlokRanjan822776
15 views13 slides
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf by
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdfASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdfAlhamduKure
12 views11 slides
20191101 Wang Invited Talk at APTSE (Thermal Energy Harvesting and Conversion) by
20191101 Wang Invited Talk at APTSE (Thermal Energy Harvesting and Conversion)20191101 Wang Invited Talk at APTSE (Thermal Energy Harvesting and Conversion)
20191101 Wang Invited Talk at APTSE (Thermal Energy Harvesting and Conversion)lwang78
42 views29 slides
Convegno 23/11 | MACRì Salvatore by
Convegno 23/11 | MACRì SalvatoreConvegno 23/11 | MACRì Salvatore
Convegno 23/11 | MACRì SalvatoreServizi a rete
14 views23 slides
4th Power Grid Model Meet-up main slides by
4th Power Grid Model Meet-up main slides4th Power Grid Model Meet-up main slides
4th Power Grid Model Meet-up main slidestonyxiang5
8 views24 slides
Web Dev Session 1.pptx by
Web Dev Session 1.pptxWeb Dev Session 1.pptx
Web Dev Session 1.pptxVedVekhande
25 views22 slides
IRJET-Productivity Enhancement Using Method Study.pdf by
IRJET-Productivity Enhancement Using Method Study.pdfIRJET-Productivity Enhancement Using Method Study.pdf
IRJET-Productivity Enhancement Using Method Study.pdfSahilBavdhankar
12 views4 slides
Trust Metric-Based Anomaly Detection via Deep Deterministic Policy Gradient R... by
Trust Metric-Based Anomaly Detection via Deep Deterministic Policy Gradient R...Trust Metric-Based Anomaly Detection via Deep Deterministic Policy Gradient R...
Trust Metric-Based Anomaly Detection via Deep Deterministic Policy Gradient R...IJCNCJournal
6 views25 slides
REPORT Data Science EXPERT LECTURE.doc by
REPORT Data Science EXPERT LECTURE.docREPORT Data Science EXPERT LECTURE.doc
REPORT Data Science EXPERT LECTURE.docParulkhatri11
8 views9 slides
CPM Schedule Float.pptx by
CPM Schedule Float.pptxCPM Schedule Float.pptx
CPM Schedule Float.pptxMathew Joseph
12 views5 slides
MODULE-1 CHAPTER 3- Operators - Object Oriented Programming with JAVA by
MODULE-1 CHAPTER 3- Operators - Object Oriented Programming with JAVAMODULE-1 CHAPTER 3- Operators - Object Oriented Programming with JAVA
MODULE-1 CHAPTER 3- Operators - Object Oriented Programming with JAVADemian Antony D'Mello
16 views14 slides
THE 14 ELEMENTS OF PROCESS SAFETY MANAGEMENT by
THE 14 ELEMENTS OF PROCESS SAFETY MANAGEMENTTHE 14 ELEMENTS OF PROCESS SAFETY MANAGEMENT
THE 14 ELEMENTS OF PROCESS SAFETY MANAGEMENTsoginsider
12 views18 slides
Programmable Logic Devices : SPLD and CPLD by
Programmable Logic Devices : SPLD and CPLDProgrammable Logic Devices : SPLD and CPLD
Programmable Logic Devices : SPLD and CPLDUsha Mehta
46 views54 slides
Connecting Neptune Flow Meters to SCADA, Telemetry, and Building Automation S... by
Connecting Neptune Flow Meters to SCADA, Telemetry, and Building Automation S...Connecting Neptune Flow Meters to SCADA, Telemetry, and Building Automation S...
Connecting Neptune Flow Meters to SCADA, Telemetry, and Building Automation S...SCADAmetrics
27 views21 slides
Different type of computer networks .pptx by
Different  type of computer networks .pptxDifferent  type of computer networks .pptx
Different type of computer networks .pptxnazmul1514788
21 views22 slides
Redis. Performance on custom searches. Production screw up by
Redis. Performance on custom searches. Production screw upRedis. Performance on custom searches. Production screw up
Redis. Performance on custom searches. Production screw upPiotrWasiak5
6 views23 slides

Recently uploaded (20)

AWS Certified Solutions Architect Associate Exam Guide_published .pdf by Kiran Kumar Malik
AWS Certified Solutions Architect Associate Exam Guide_published .pdfAWS Certified Solutions Architect Associate Exam Guide_published .pdf
AWS Certified Solutions Architect Associate Exam Guide_published .pdf
DevFest 2023 Daegu Speech_이재규, Implementing easy and simple chat with gol... by JQLEE6
DevFest 2023 Daegu Speech_이재규,  Implementing easy and simple chat with gol...DevFest 2023 Daegu Speech_이재규,  Implementing easy and simple chat with gol...
DevFest 2023 Daegu Speech_이재규, Implementing easy and simple chat with gol...
JQLEE616 views
Solution Challenge Info Session Presentation by AlokRanjan822776
Solution Challenge Info Session PresentationSolution Challenge Info Session Presentation
Solution Challenge Info Session Presentation
AlokRanjan82277615 views
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf by AlhamduKure
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdfASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf
ASSIGNMENTS ON FUZZY LOGIC IN TRAFFIC FLOW.pdf
AlhamduKure12 views
20191101 Wang Invited Talk at APTSE (Thermal Energy Harvesting and Conversion) by lwang78
20191101 Wang Invited Talk at APTSE (Thermal Energy Harvesting and Conversion)20191101 Wang Invited Talk at APTSE (Thermal Energy Harvesting and Conversion)
20191101 Wang Invited Talk at APTSE (Thermal Energy Harvesting and Conversion)
lwang7842 views
Convegno 23/11 | MACRì Salvatore by Servizi a rete
Convegno 23/11 | MACRì SalvatoreConvegno 23/11 | MACRì Salvatore
Convegno 23/11 | MACRì Salvatore
Servizi a rete14 views
4th Power Grid Model Meet-up main slides by tonyxiang5
4th Power Grid Model Meet-up main slides4th Power Grid Model Meet-up main slides
4th Power Grid Model Meet-up main slides
tonyxiang58 views
Web Dev Session 1.pptx by VedVekhande
Web Dev Session 1.pptxWeb Dev Session 1.pptx
Web Dev Session 1.pptx
VedVekhande25 views
IRJET-Productivity Enhancement Using Method Study.pdf by SahilBavdhankar
IRJET-Productivity Enhancement Using Method Study.pdfIRJET-Productivity Enhancement Using Method Study.pdf
IRJET-Productivity Enhancement Using Method Study.pdf
SahilBavdhankar12 views
Trust Metric-Based Anomaly Detection via Deep Deterministic Policy Gradient R... by IJCNCJournal
Trust Metric-Based Anomaly Detection via Deep Deterministic Policy Gradient R...Trust Metric-Based Anomaly Detection via Deep Deterministic Policy Gradient R...
Trust Metric-Based Anomaly Detection via Deep Deterministic Policy Gradient R...
IJCNCJournal6 views
REPORT Data Science EXPERT LECTURE.doc by Parulkhatri11
REPORT Data Science EXPERT LECTURE.docREPORT Data Science EXPERT LECTURE.doc
REPORT Data Science EXPERT LECTURE.doc
Parulkhatri118 views
MODULE-1 CHAPTER 3- Operators - Object Oriented Programming with JAVA by Demian Antony D'Mello
MODULE-1 CHAPTER 3- Operators - Object Oriented Programming with JAVAMODULE-1 CHAPTER 3- Operators - Object Oriented Programming with JAVA
MODULE-1 CHAPTER 3- Operators - Object Oriented Programming with JAVA
THE 14 ELEMENTS OF PROCESS SAFETY MANAGEMENT by soginsider
THE 14 ELEMENTS OF PROCESS SAFETY MANAGEMENTTHE 14 ELEMENTS OF PROCESS SAFETY MANAGEMENT
THE 14 ELEMENTS OF PROCESS SAFETY MANAGEMENT
soginsider12 views
Programmable Logic Devices : SPLD and CPLD by Usha Mehta
Programmable Logic Devices : SPLD and CPLDProgrammable Logic Devices : SPLD and CPLD
Programmable Logic Devices : SPLD and CPLD
Usha Mehta46 views
Connecting Neptune Flow Meters to SCADA, Telemetry, and Building Automation S... by SCADAmetrics
Connecting Neptune Flow Meters to SCADA, Telemetry, and Building Automation S...Connecting Neptune Flow Meters to SCADA, Telemetry, and Building Automation S...
Connecting Neptune Flow Meters to SCADA, Telemetry, and Building Automation S...
SCADAmetrics27 views
Different type of computer networks .pptx by nazmul1514788
Different  type of computer networks .pptxDifferent  type of computer networks .pptx
Different type of computer networks .pptx
nazmul151478821 views
Redis. Performance on custom searches. Production screw up by PiotrWasiak5
Redis. Performance on custom searches. Production screw upRedis. Performance on custom searches. Production screw up
Redis. Performance on custom searches. Production screw up
PiotrWasiak56 views

Keccak

  • 2. Overview ● Introduction to Hash function. ● Secure Hash Algorithm (SHA) ● SHA-3/Keccak ○ Design approach ○ Inside Keccak ○ Parts of Keccak-f ● Application & Strength ● Efficiency ● Our work ● References
  • 3. Hashing and Hash Function • Hashing is the transformation of a string of characters into a usually shorter fixed-length value or key that represents the original string. • In addition to faster data retrieval, hashing is also used to encrypt and decrypt digital signatures. • The hashing algorithm is called the Hash Function which generates hash codes. • Hash codes are stored in a table called hash table.
  • 4. Hash function • Algorithm that takes an arbitrary block of data and returns a fixed-size bit string. • Used from digital signature to git repository to peer to peer transmission. • Encoded data is called the "message," and the hash value is sometimes called the “message digest” or simply “digest”. MD5 MD = 128 (Ron Rivest, 1992) SHA-1 MD = 160 (NSA, NIST, 1995) SHA-2 MD = 224/256/384/512 (NSA, NIST, 2001)
  • 5. Secure Hash Algorithms (SHA’s) • Family of cryptographic hash functions published by the National Institute of Standards and Technology (NIST) • SHA defines as U.S. Federal Information Processing Standard (FIPS) • SHA determine the integrity of a message. So, that any change in the message in the message result in different hash values with high probability. • Steps for SHA : – Preprocessing : Padding the data for blocking – Hash Computation : Process blocks using the hash function.
  • 8. SHA–3 / Keccak ● Selected on October 2012 as the winner of the NIST hash function competition ● Not only a hash function. ● Based on the sponge function. ● Not meant to replace SHA-2.
  • 9. Keccak Team Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche
  • 10. Keccak, a sponge function ● Variable input and output length ● More Flexible than regular hash function ● Parameters ○ r bits– rate (defines the speed) ○ c bits – capacity (defines the security level)
  • 11. Design Approach ● Instantiate a sponge function ● Select the capacity and rate parameters ○ capacity + rate = 1600 ● Rata and capacity decides the strength. ● Building an iterated permutation ● Like a block cipher ○ Sequence of identical rounds ○ Round consists of sequence of simple step mappings ● No key Schedule , instead round constants Capacity Rate Strength 256 1344 128 384 1216 192 512 1088 256
  • 12. Inside Keccak ● The permutation Keccak-f ○ 7 permutations: b → {25, 50, 100, 200, 400, 800, 1600} ● Uses 24 permutation rounds ○ Each round invokes 5 modules ○ Theta(θ), rho(ρ), Pi(Π), Chi(χ), iota(ϊ)
  • 13. Pieces of states Note : State is 5x5x64 bits block.
  • 14. Theta ● Renders the internal state into a 5-by-5 array of 64-bit elements. ● Computes the parities of each column and combines them with an exclusive-or (XOR) operator. ● Then it XORs the resulting parity to each state bit as follows: S[i][j][k] ^= parity(S[0...4][j-1][k]) ^ parity(S[0...4][j+1][k-1]) where i = 0...4; j = 0...4; k = 0...63
  • 15. Rho • The rho module rotates each 64-bit element by a triangular number 0, 1, 3, 6, 10, 15, …..
  • 16. Pi • The pi module permutes the 64-bit elements. • Permutation follows the fixed pattern assignment shown below: S[j][2*i + 3*j] = S[i][j]
  • 17. Chi • The chi module adds a non-linear aspect to the permutation round. • It combines the row elements using only three bitwise operators: AND, NOT, and XOR. • Then it writes the result back to the state array as follows: S[i][j][k] ^= ~S[i][j + 1][k] & S[i][j + 2][k]
  • 18. Iota ● The iota module breaks up any symmetry caused by the other modules. ● This is done by XORing one of the array elements to a round constant ● The module has 24 round constants to choose from. These constants are defined internally by Keccak ● Without ϊ , the round mapping would be symmetric ● Without ϊ , all rounds would be the same ○ susceptibility to slide attacks ○ defective cycle structure
  • 19. Code Reference Keccak-f[b](A) { forall i in 0…nr -1 A = Round[b](A, RC[i]) return A } Round[b](A,RC) { θ step C[x] = A[x,0] xor A[x,1] xor A[x,2] xor A[x,3] xor A[x,4], forall x in 0…4 D[x] = C[x-1] xor rot(C[x+1],1), forall x in 0…4 A[x,y] = A[x,y] xor D[x], forall (x,y) in (0…4,0…4) ρ and π steps B[y,2*x+3*y] = rot(A[x,y], r[x,y]), forall (x,y) in (0…4,0…4) χ step A[x,y] = B[x,y] xor ((not B[x+1,y]) and B[x+2,y]), forall (x,y) in (0…4,0…4) ι step A[0,0] = A[0,0] xor RC return A }
  • 20. Keccak Summary • Round function: R = (ϊ) XOR (χ) XOR (Π) XOR (ρ) XOR (θ) • Number of rounds: 12 + 2ℓ – Keccak-f[25] has 12 rounds – Keccak-f[1600] has 24 rounds • Efficiency – high level of parallelism – flexibility: bit-interleaving – software: competitive on wide range of CPU – dedicated hardware: very competitive – suited for protection against side-channel attack
  • 21. Applications • Regular hashing – Electronic signatures – Data integrity – Data identifier • Salted hashing (more complex security measure) – Randomized hashing – Password Storage and verification • Message Authentication Code (MAC) • Single Pass authenticated encryption – Authentication and Encryption in a single pass – Secure messaging ( SSL, TLS, SSH,…. ) – Version control systems. • Reseedable Pseudorandom sequence generator
  • 22. Strength of Keccak • High level of parallelism • Flexibility: bit-interleaving • Software: competitive on wide range of CPU (also implem. for CUDA) • Dedicated hardware: very competitive • Suited for protection against side-channel attack • Faster than SHA-2 on all modern PC
  • 24. Our Work • Keccak source code is available for public access. • Keccak hash function implementation on microblaze and analyze the hardware performance to perform hashing. • Analysing the the factors like timing/clock cycles for different bit-rate and capacity factors.
  • 25. References ● J.-P. Aumasson and D. Khovratovich, First analysis of Keccak, Available online, 2009, http://131002.net/data/papers/AK09.pdf. ● Online Keccak reference site, http://keccak.noekeon.org/ ● G. Bertoni, J. Daemen, M. Peeters, G. Van Assche and R. Van Keer, Keccak implementation overview, round 3 submission to NIST SHA-3, 2011