×

Apparatus and method for implementing a unified hash algorithm pipeline

  • US 7,684,563 B1
  • Filed: 10/19/2004
  • Issued: 03/23/2010
  • Est. Priority Date: 12/12/2003
  • Status: Active Grant
First Claim
Patent Images

1. A cryptographic unit, comprising:

  • hash logic configured to compute a hash value of a first data block according to a first hash algorithm, wherein said first hash algorithm is dynamically selectable from a plurality of hash algorithms, wherein said hash logic comprises pipelined adder logic having a plurality of pipeline stages, and wherein to compute said hash value of said first data block according to said first hash algorithm, said hash logic is further configured to perform multiple iterations within said pipelined adder logic, wherein for at least a given one of the iterations of the first hash algorithm, an input of the given iteration depends on an output of said pipelined adder logic produced by a preceding iteration; and

    a word buffer configured to store said first data block during computing by said hash logic;

    wherein said pipelined adder logic is configured such that during computation of said hash value of said first data block and after said multiple iterations begin, each of said plurality of pipeline stages is idle during one or more execution cycles;

    wherein said hash logic is further configured to compute a hash value of a second data block according to a second hash algorithm, wherein to compute said hash value of said second data block according to said second hash algorithm, said hash logic is further configured to perform multiple iterations within said pipelined adder logic, wherein for at least a particular one of the iterations of the second hash algorithm, an input of the particular iteration depends on an output of said pipelined adder logic produced by a preceding iteration; and

    wherein said hash logic is further configured to compute said hash value of said second data block during idle execution cycles of said plurality of pipeline stages that occur during computation of said hash value of said first data block, such that said hash logic is operable to concurrently compute hash values of said first data block and said second data block in an interleaved fashion.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×