Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Case for a Parallelizable Hash Alan Kaminsky and Stanislaw Radziszowski Department of Computer Science B. Thomas Golisano College of Computing and Information.

Similar presentations


Presentation on theme: "A Case for a Parallelizable Hash Alan Kaminsky and Stanislaw Radziszowski Department of Computer Science B. Thomas Golisano College of Computing and Information."— Presentation transcript:

1 A Case for a Parallelizable Hash Alan Kaminsky and Stanislaw Radziszowski Department of Computer Science B. Thomas Golisano College of Computing and Information Sciences Rochester Institute of Technology Rochester, NY, USA

2 Page 2 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski Agenda ● One-Way Hash Functions ● Use Cases for Hash Functions ● Motivation for Parallelizable Hash Functions ● The PHASH Hash Function Design Concept ● Security of PHASH ● Performance of PHASH ● Conclusion

3 Page 3 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski One-Way Hash Functions ● MD5 ● SHA-1 ● SHA-224, SHA-256, SHA-384, SHA-512 ● SHA-3 — NIST competition underway ● Security properties: ● Preimage resistant — Given H(M), it is hard to find M ● Second preimage resistant — Given M 1, it is hard to find M 2 such that H(M 1 ) = H(M 2 ) ● Collision resistant — It is hard to find M 1 and M 2 such that H(M 1 ) = H(M 2 )

4 Page 4 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski One-Way Hash Functions ● Used for: Integrity

5 Page 5 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski One-Way Hash Functions ● Used for: Authentication, in a message authentication code (MAC)

6 Page 6 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski One-Way Hash Functions ● Used for: Authentication, in a digital signature

7 Page 7 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski Use Cases for Hash Functions ● A DRM system hashes a two-hour high resolution movie to detect piracy ● A laboratory hashes a massive protein sequence database and adds a digital signature ● A user hashes the entire file system while backing it up ● Police hash an image of an entire hard disk that was seized for a criminal investigation Hashes of very large inputs ● Packets are hashed on the fly in hardware as they traverse a fiber network Hashes at very high speeds

8 Page 8 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski Motivation for Parallelizable Hash Functions ● All present hash functions use the Merkle-Damgård construction ● Must be computed sequentially

9 Page 9 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski Motivation for Parallelizable Hash Functions ● A disaster in the making ● Takes too long ● Can’t take advantage of the latest multicore CPUs

10 Page 10 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski Motivation for Parallelizable Hash Functions ● Solution: Parallelizable hash function

11 Page 11 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski The PHASH Hash Function Design Concept ● Compression function based on a block cipher ● U = Uncompressed data block ● I = Block number (counter) ● E = Block cipher encryption function ● C(U,I) = Compressed output

12 Page 12 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski The PHASH Hash Function Design Concept ● Examples of block ciphers PHASH can use: Cipher K (bits) B (bits) Rijndael 256 256 W 512 512 M 1024 512 ● Rijndael — 128-bit version standardized as AES ● W — Whirlpool hash function’s block cipher ● M — Maelstrom-0 hash function’s block cipher

13 Page 13 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski The PHASH Hash Function Design Concept ● The PHASH computation: ● Append padding and message length (Merkle-Damgård strengthening) ● Break input into uncompressed blocks ● Compress each block together with its own index ● XOR together every 128 compressed blocks ● Replace input with XORed blocks ● Repeat until only one block remains ● Do one final compression

14 Page 14 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski Security of PHASH ● A preimage can be found by inverting the block cipher encryption function — Block ciphers are designed to withstand such attacks ● A preimage can be found with high probability if too many blocks are XORed together (XHASH attack) — Re-encrypting after XORing every 128 blocks foils this attack ● Finding a second preimage or a collision can be done in 2 N operations (N = counter size) — Counter size can be used to tune the security level ● Length extension attack requires inverting the block cipher encryption function — The final output is always the result of an encryption

15 Page 15 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski Performance of PHASH ● Three 512-bit hash functions were implemented on a Xilinx Virtex-5 LX330 FPGA: SHA-512 Whirlpool PHASH with the W block cipher and a 128-bit counter ● Sequential performance: Hash FunctionThroughput (Gbps) SHA-5121.8 Whirlpool7.7 PHASH15.1

16 Page 16 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski Performance of PHASH ● PHASH parallel performance on the Xilinx Virtex-5 LX330 FPGA: Number of coresThroughput (Gbps)Speedup 115.11.0 228.91.9 455.63.7 8101.06.7 16182.612.1

17 Page 17 A Case for a Parallelizable Hash — Alan Kaminsky and Stanislaw Radziszowski Conclusion ● Parallelizable hash functions are necessary ● Parallelizable hash functions are doable ● SHA-3 should be parallelizable


Download ppt "A Case for a Parallelizable Hash Alan Kaminsky and Stanislaw Radziszowski Department of Computer Science B. Thomas Golisano College of Computing and Information."

Similar presentations


Ads by Google