lux hash function
play

LUX Hash Function Ivica Nikoli c, Alex Biryukov, Dmitry - PowerPoint PPT Presentation

LUX Hash Function LUX Hash Function Ivica Nikoli c, Alex Biryukov, Dmitry Khovratovich University of Luxembourg LUX Hash Function Outline 1 Design 2 Security Analysis 3 Implementation 4 Advantages LUX Hash Function Design Design LUX Hash


  1. LUX Hash Function LUX Hash Function Ivica Nikoli´ c, Alex Biryukov, Dmitry Khovratovich University of Luxembourg

  2. LUX Hash Function Outline 1 Design 2 Security Analysis 3 Implementation 4 Advantages

  3. LUX Hash Function Design Design

  4. LUX Hash Function Design General Design of LUX Stream based (RadioGatun like) hash function Big internal state - 3 × message digest Message is processed by small (32-bit or 64-bit) chunks Round function uses Rijndael-like transformation

  5. LUX Hash Function Design The internal state of LUX The state can be divided into two parts: Buffer - m × 16 matrix of bytes (light transforms) Core - m × 8 matrix of bytes (heavy transforms) Output m Core Buffer Total 256 4 4 × 8 4 × 16 96 512 8 8 × 8 8 × 16 192 Feedforwards between the core and the buffer in each round

  6. LUX Hash Function Design State update function (round transformation) Message XOR to the core and the buffer Update of the core and the buffer XOR of the core to the buffer Feedforward from the buffer to the core

  7. LUX Hash Function Design State update function (round transformation) Message XOR to the core and the buffer Update of the core and the buffer XOR of the core to the buffer Feedforward from the buffer to the core

  8. LUX Hash Function Design State update function (round transformation) Message XOR to the core and the buffer Update of the core and the buffer XOR of the core to the buffer Feedforward from the buffer to the core

  9. LUX Hash Function Design State update function (round transformation) Message XOR to the core and the buffer Update of the core and the buffer XOR of the core to the buffer Feedforward from the buffer to the core

  10. LUX Hash Function Design State update function (round transformation) Rijndael round Message XOR to the core and the buffer Update of the core and the buffer XOR of the core to the buffer Feedforward from the buffer to the core

  11. LUX Hash Function Design State update function (round transformation) Message XOR to the core and the buffer Update of the core and the buffer XOR of the core to the buffer Feedforward from the buffer to the core

  12. LUX Hash Function Design State update function (round transformation) Message XOR to the core and the buffer Update of the core and the buffer XOR of the core to the buffer Feedforward from the buffer to the core

  13. LUX Hash Function Design State update function (round transformation) Message XOR to the core and the buffer Update of the core and the buffer XOR of the core to the buffer Feedforward from the buffer to the core

  14. LUX Hash Function Design State update function (round transformation) Message XOR to the core and the buffer Update of the core and the buffer XOR of the core to the buffer Feedforward from the buffer to the core

  15. LUX Hash Function Design State update function (round transformation) Message XOR to the core and the buffer Update of the core and the buffer XOR of the core to the buffer Feedforward from the buffer to the core

  16. LUX Hash Function Design State update function (round transformation) Message XOR to the core and the buffer Update of the core and the buffer XOR of the core to the buffer Feedforward from the buffer to the core

  17. LUX Hash Function Design State update function (round transformation) Message XOR to the core and the buffer Update of the core and the buffer XOR of the core to the buffer Feedforward from the buffer to the core

  18. LUX Hash Function Design Hashing m 1 m 2 m 3 m k 0 0 0 0 0 0 ... ... ... h 1 h 2 h 3 Three phases of hashing: Input phase - absorb the whole message Blank rounds phase - increase diffusion of the last message blocks Output phase - produce the hash value from the state

  19. LUX Hash Function Security Analysis Security Security

  20. LUX Hash Function Security Analysis Multicollisions, length-extension, herding, 2-nd Multicollision, length-extension and herding attacks require internal collisions 2-nd preimage attack (Dean, Kelsey-Schneier) requires finding at least one preimage for some intermediate state value The big internal state of LUX-n has 3 n bits ⇒ internal collisions/preimages are expensive

  21. LUX Hash Function Security Analysis Collisions Truncated differentials (see Peyrin’s attack on Grindahl) Build a trail of truncated differentials Complexity of the attack depends on the number of active S-Boxes Fix some values of the S-Boxes with the message input The best truncated differential trail found for LUX-256 has 88 active S-Boxes where 38 can be fixed ⇒ complexity 2 300

  22. LUX Hash Function Security Analysis Preimages Whole execution of LUX is invertible ⇒ try MITM attack for preimages Big internal state ( 3 n ) stops this attack Try to fix some intermediate values in the buffer. Due to the xor of the core to the buffer, only n bits can be fixed ⇒ complexity of MITM on 2 n -bit state is 2 n

  23. LUX Hash Function Security Analysis Recent cryptanalysis Free-start collisions/preimages and distinguishers (Wu et al.) Free start attacks on invertible functions are trivial. Outputting the whole state at once stops the distinguisher based on the properties of the output transform Length extension slide attack (Peyrin) Needs salt size to be equal to 31 (mod 32) bits. Salt size is fixed to 128-bits in LUX.

  24. LUX Hash Function Implementation Implementation Implementation

  25. LUX Hash Function Implementation Implementation results Primitive comparation to AES (counting the number of XORs and table look-ups) gives a speed-up of 1.2 in favor of LUX 224/256 384/512 32-bit (C) 16.7 28.2 64-bit (asm) 10.2 9.5 Speed on 32-bit can be improved with an assembler implementation The new Intel instruction set can improve the speed of LUX-256

  26. LUX Hash Function Advantages Advantages Advantages

  27. LUX Hash Function Advantages Pros Rijndael-based - well analyzed transformation Cryptanalysis can be focused only on the construction Implementation tricks of Rijndael can be used in LUX Speed - one of the fastest on both 32 and 64-bit platforms Stable high speed on various processors (AMD, Intel) Overperforms all AES based functions

  28. LUX Hash Function Check LUX embourg on cryptolux.org/LUX

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend