A revised "FFT" hash function.

From: Tom St Denis (tomstdenis_at_iahu.ca)
Date: 09/30/03


Date: Mon, 29 Sep 2003 23:15:01 GMT

First off disclaimer, don't use this design [at least right away] in
anything production. You've been warned.

The "niche" of this hash function is hardware specifically but it can also
work in embedded software [requires ~200 bytes of ram]. It uses a radix-2
FFT network for diffusion and a simple 8x8 as the nonlinear part.

In hardware the design would be very fast as the critical path is rather
short [the FFT network has a path of maybe 5*3 == 15 xor gates] and it would
be
compact as the main compnents are a 4x256 [fastest, or 9x8 for smallest]
SRAM, a bunch of XOR gates and a series of 96 4x4 ROMs The design is a
request of Mads Rasmussen so don't flame me please :-)

The reference source [which isn't terribly optimized] is at
http://iahu.ca:8080/src/ref.c and test vectors are at the end of the source
code. Please don't assume anything and avoid using this design in
production systems. It's an "interesting" design perhaps at best. As for a
paper on the design I doubt I will write one but Mads may want to. I wrote
the code for him.

Tom



Relevant Pages

  • Re: Security and EOL issues
    ... OS software resources are designed that reserved ram and disk space among other resources, to reflect what current hardware size is available. ... (There was a security patch a few years ago that could not be applied to NT4 as it required more resources then NT4 could provide. ... Installing air bags requires that the automobile manufacturer design, test, ... Computer Emergency Response Teams, and Digital Investigations. ...
    (Security-Basics)
  • Staff HW Engineer ~ Lead Us to ATCA & Beyond in Your End-to-End Board-Level HW Desig
    ... The senior level hardware engineer looking for the product realization ... and true ownership that comes with full end-to-end board-level hardware ... help us retain dominance in the design of high performance switching ...
    (comp.arch.embedded)
  • Re: 10khz DBSK decoder
    ... In an AVR, you may want to come closer to the 'hardwareish' thing: run the whole thing as a Costas loop or as a signal-square-and-PLL, and do integrate-and-dump. ... In retrospect, the ISR should have just taken ADC samples and shoved them into a queue, then set a flag. ... But I had never seen that design pattern, so it just ran with that big bloated ISR... ... You'll get more consistent timing if you can trigger your ADC from hardware and interrupt on the end of conversion pulse. ...
    (comp.dsp)
  • Re: For loop synthesis and repeated structures, any examples?
    ... I meant that the for loop IS an innefficient constuct ... in the sense that it would paralellise the hardware... ... has almost nothing to do with that design compromise. ... the multiplier, and capturing its output into the right ...
    (comp.lang.verilog)
  • Re: FPGA with 5V and PLCC package
    ... Their job will be to design software and not hardware systems. ... _graphical representation_ is the only appropriate way to do low level ... examples as gates. ...
    (comp.arch.fpga)