发明名称 GENERATING A HASH USING S-BOX NONLINEARIZING OF A REMAINDER INPUT
摘要 A processor includes a hash register and a hash generating circuit. The hash generating circuit includes a novel programmable nonlinearizing function circuit as well as a modulo-2 multiplier, a first modulo-2 summer, a modulor-2 divider, and a second modulo-2 summer. The nonlinearizing function circuit receives a hash value from the hash register and performs a programmable nonlinearizing function, thereby generating a modified version of the hash value. In one example, the nonlinearizing function circuit includes a plurality of separately enableable S-box circuits. The multiplier multiplies the input data by a programmable multiplier value, thereby generating a product value. The first summer sums a first portion of the product value with the modified hash value. The divider divides the resulting sum by a fixed divisor value, thereby generating a remainder value. The second summer sums the remainder value and the second portion of the input data, thereby generating a hash result.
申请公布号 US2016034257(A1) 申请公布日期 2016.02.04
申请号 US201414448980 申请日期 2014.07.31
申请人 Netronome Systems, Inc. 发明人 Stark Gavin J.
分类号 G06F7/72 主分类号 G06F7/72
代理机构 代理人
主权项 1. A method comprising: (a) storing an amount of incoming data in a processor, wherein the amount of incoming data comprises a first portion and a second portion; (b) maintaining a hash register value in a hash register; (c) supplying the first portion of the amount of incoming data onto a set of input leads of a modulo-2 multiplier; (d) using the modulo-2 multiplier to modulo-2 multiply the first portion by a multiplier value thereby generating a product value, wherein the product value comprises a first portion and a second portion; (e) using a programmable nonlinearizing function circuit to perform a nonlinearizing function on the hash register value and thereby generating a modified version of the hash register value; (f) using a first modulo-2 summer to modulo-2 sum the first portion of the product value and the modified version of the hash register value and thereby generating a first sum value; (g) using a modulo-2 divider to modulo-2 divide the first sum value by a divisor value and thereby outputting a division remainder value; (h) using a second modulo-2 summer to modulo-2 sum the second portion of the product value and the division remainder value; and (i) loading the division remainder value into the hash register, wherein (a) through (i) are performed by the processor, and wherein the hash register, the modulo-2 multiplier, the programmable nonlinearizing function circuit, the first modulo-2 summer, the modulo-2 divider, and the second modulo-2 summer are parts of the processor.
地址 Santa Clara CA US