Claims
- 1. A cryptography accelerator, the accelerator comprising:
a first hash core operable to perform a plurality of rounds of hash computations on input data to derive processed data; a persistent memory containing a plurality of instruction sets, the plurality of instruction sets providing information for the first hash core on operations to perform on input data and intermediate data during the plurality of rounds of hash computations; and a temporary memory coupled to the first hash core, the temporary memory operable to hold input data and intermediate data.
- 2. The accelerator of claim 1, further comprising a second hash core, the second hash core operable to perform a plurality of rounds of hash computations on input data to derive processed data.
- 3. The accelerator of claim 3, wherein the first hash core is configurable to operate as either a SHA-1 or an MD5 hash core.
- 4. The accelerator of claim 2, wherein the second hash core is configurable to operate as either a SHA-1 or an MD5 hash core.
- 5. The accelerator of claim 4, wherein the first hash core is configured as the inner hash and the second hash core is configured as the outer hash for HMAC operations.
- 6. The accelerator of claim 2, further comprising control logic operable to determine characteristics associated with the input data and select an instruction set based on the input data characteristics.
- 7. The accelerator of claim 6, wherein control logic configures the first hash core using the instruction set.
- 8. The accelerator of claim 6, wherein control logic manages the first hash core using the instruction set.
- 9. The accelerator of claim 7, wherein control logic configures the second hash core using the instruction set.
- 10. The accelerator of claim 8, wherein control logic manages the second hash core using the instruction set.
- 11. The accelerator of claim 9, wherein characteristics associated with input data comprise random information associated with protocol version, session ID, and cipher suite.
- 12. The accelerator of claim 11, wherein characteristics associated with input data further comprise information associated with a premaster sequence, an initialization vector, export information, and key length.
- 13. The accelerator of claim 12, wherein characteristics associated with input data further comprise information associated with how encryption and authentication will be performed.
- 14. The accelerator of claim 1, wherein the plurality of instruction sets in persistent memory comprise instructions for performing TLS 1.0 and SSLv3 key derivation and finished message generation.
- 15. The accelerator of claim 14, wherein the persistent memory and the temporary memory are provided in the same component.
- 16. A method for performing hash operations, the method comprising:
receiving input data; determining characteristics associated with the input data; selecting an instruction set for performing hash operations on input data, wherein the instruction set is selected from a plurality of instruction sets maintained in persistent memory associated with a first hash core; and configuring the first hash core using the instruction set, wherein the first hash core is operable to perform hash operations on input data based on the instruction set.
- 17. The method of claim 16, further comprising:
configuring a second hash core using the instruction set, wherein the second hash core is operable to perform hash operations on input data based on the instruction set.
- 18. The method of claim 17, wherein performing hash operations on the input data comprises performing a plurality of rounds of hash computations on input data to derive intermediate data and processed data.
- 19. The method of claim 18, wherein the first hash core is a SHA-1 hash core.
- 20. The method of claim 19, wherein the second hash core is a MD5 hash core.
- 21. The method of claim 18, wherein the first hash core is configured as the inner hash and the second hash core is configured as the outer hash for HMAC operations.
- 22. The method of claim 21, wherein characteristics associated with input data comprise random information associated with protocol version, session ID, and cipher suite.
- 23. The method of claim 22, wherein characteristics associated with input data further comprise information associated with a premaster sequence, an initialization vector, export information, and key length.
- 24. The method of claim 23, wherein characteristics associated with input data further comprise information associated with how encryption and authentication will be performed.
- 25. The method of claim 20, wherein the selected instruction set comprises instructions for performing key derivation or finished message generation.
- 26. An apparatus for performing hash operations, the apparatus comprising:
means for receiving input data; means for determining characteristics associated with the input data; means for selecting an instruction set for performing hash operations on input data, wherein the instruction set is selected from a plurality of instruction sets maintained in persistent memory associated with a first hash core; and means for configuring the first hash core using the instruction set, wherein the first hash core is operable to perform hash operations on input data based on the instruction set.
- 27. The apparatus of claim 26, further comprising:
means for configuring a second hash core using the instruction set, wherein the second hash core is operable to perform hash operations on input data based on the instruction set.
- 28. The apparatus of claim 27, wherein performing hash operations on the input data comprises performing a plurality of rounds of hash computations on input data to derive intermediate data and processed data.
- 29. The apparatus of claim 28, wherein the first hash core is a SHA-1 hash core.
- 30. The apparatus of claim 29, wherein the second hash core is a MD5 hash core.
- 31. The apparatus of claim 28, wherein the first hash core is configured as the inner hash and the second hash core is configured as the outer hash for HMAC operations.
- 32. The apparatus of claim 31, wherein characteristics associated with input data comprise random information associated with protocol version, session ID, and cipher suite.
- 33. The apparatus of claim 32, wherein characteristics associated with input data further comprise information associated with a premaster sequence, an initialization vector, export information, and key length.
- 34. The apparatus of claim 33, wherein characteristics associated with input data further comprise information associated with how encryption and authentication will be performed.
- 35. The apparatus of claim 30, wherein the selected instruction set comprises instructions for performing key derivation or finished message generation.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority under U.S.C. 119(e) from U.S. Provisional Application No. 60/368,583, entitled “Methods And Apparatus For Implementing A Configurable Authentication Accelerator,” as of filing on Mar. 28, 2002, the disclosure of which is herein incorporated by reference for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60368583 |
Mar 2002 |
US |