1 / 10

LFSR-based Hash

Secured Hash Function Efficient hardware implementation by Liron Cohen Based on “LFSR-based Hashing and Authentication” by Hugo Krawvzyk (IBM). LFSR-based Hash. LFSR-based (Toeplitz) hashing, same as in RSS.

webb
Download Presentation

LFSR-based Hash

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Secured Hash FunctionEfficient hardware implementationby Liron CohenBased on “LFSR-based Hashing and Authentication” by Hugo Krawvzyk (IBM)

  2. LFSR-based Hash • LFSR-based (Toeplitz) hashing, same as in RSS. • Given a key of m bits returns hash value of n bits ( ). • Guarantees that , Where . • Note that in the (best) random case. • In our framework of m=188b, n=32b we get , • Where in the random case we get .

  3. Example Compute the hash result via matrix multiplication : The secret key that generates this matrix is 100110.

  4. Example • Compute the hash value via our algorithm : Secret key - 1 0 0 1 1 0 Hash Result – 0 0 0 1 0 0 1 0 1 0 1 1 Message – 1 1 0 1

  5. Overview

  6. Hash Type • Advertises what message length should the hash expect, 4 options :

  7. Seed • Instead of generating pseudo-random bit sequence with LFSR we can receive a seed (secret key) from the firmware/driver. • For IPv4 the seed should be (2B+2B+4B+4B+32b=)16 Bytes long. • For IPv6 the seed should be (2B+2B+16B+16B+32b=)40 Bytes long. • Note that the number should be generated by a LFSR with connections corresponding to the coefficients of an irreducible polynomial.

  8. Mask Type • Determines the output size in bits. • Value between 1-31. • We will use different mask types for different uses, for example : • On-die search – mask_type = 01011 (hash_result[10:0]) • Off-die search for iScsi – mask_type = 01001 (hash_result[9:0]) • Off-die search for RDMA – mask_type = 10001 (hash_result[16:0])

  9. Timing • Assuming low power, 65nm process, pipelined – • Throughput of 1 hash result per cycle • Latency of 4 cycles per hash result.

  10. Implementation

More Related