Claims
- 1. A method for decrypting data, the method comprising:
maintaining key information associated with a secure connection in a command context structure; receiving a packet associated with the secure connection, the packet including encrypted data and an initialization vector; extracting the initialization vector from the packet; passing the initialization vector to a decryption engine; and providing the key information from a command context structure associated with the secure connection to the decryption engine.
- 2. The method of claim 1, wherein the initialization vector is authenticated but not encrypted.
- 3. The method of claim 1, wherein the packet is received from a host CPU.
- 4. The method of claim 1, wherein the decryption engine is a block cipher decryption engine.
- 5. The method of claim 4, wherein the decryption engine uses cipher block chaining.
- 6. The method of claim 1, further comprising calculating an authentication value.
- 7. The method of claim 1, wherein the command context structure includes HMAC state information.
- 8. A cryptography accelerator coupled to a host in a computer system, the cryptography accelerator comprising:
an interface coupling the cryptography accelerator to a host in a computer system, the interface operable to receive a packet associated with a secure connection between the computer system and a network entity, the secure connection associated with packet communication between the computer system and the network entity using a shared key, wherein the interface is configured to receive a packet associated with the secure connection, the packet including encrypted data and an initialization vector; a decryption engine configured to receive an initialization vector extracted from the packet associated with the secure connection and obtain key information from a command context structure.
- 9. The cryptography accelerator of claim 8, wherein the initialization vector is authenticated but not encrypted.
- 10. The cryptography accelerator of claim 8, wherein the packet is received from the network entity through a host CPU.
- 11. The cryptography accelerator of claim 8, wherein the packet is encrypted using a block cipher.
- 12. The cryptography accelerator of claim 8, wherein the decryption engine is also operable to perform encryption operations.
- 13. The cryptography accelerator of claim 8, wherein the key information from the command context structure is maintained in cache associated with a host CPU.
- 14. The cryptography accelerator of claim 8, wherein the packet is encrypted using cipher block chaining.
- 15. The cryptography accelerator of claim 8, further comprising calculating an authentication value.
- 16. The cryptography accelerator of claim 8, wherein the command context structure includes HMAC state information.
- 17. A method for encrypting data, the method comprising:
maintaining key information associated with a secure connection in a command context structure; generating an initialization vector at an initialization vector generator; obtaining the key information from the command context structure and the initialization vector from the initialization vector generator; encrypting data using the key information and the initialization vector.
- 18. The method of claim 17, wherein the data is encrypted using a block cipher.
- 19. The method of claim 18, wherein the data is encrypted using cipher-block chaining.
- 20. The method of claim 17, further comprising, obtaining encrypted data from the encryption engine.
- 21. The method of claim 20, further comprising, transmitting the encrypted data and the unencrypted initialization vector.
- 22. The method of claim 17, further comprising calculating an authentication value.
- 23. The method of claim 17, wherein the command context structure includes HMAC state information.
- 24. An apparatus for encrypting data, the apparatus comprising:
means for maintaining key information associated with a secure connection in a command context structure; means for generating an initialization vector at an initialization vector generator; means for obtaining the key information from the command context structure and the initialization vector from the initialization vector generator; means for encrypting data using the key information and the initialization vector.
- 25. The apparatus of claim 24, wherein the data is encrypted using a block cipher.
- 26. The apparatus of claim 25, wherein the data is encrypted using cipher-block chaining.
- 27. The apparatus of claim 24, further comprising, means for obtaining encrypted data from the encryption engine.
- 28. The apparatus of claim 27, further comprising, means for transmitting the encrypted data and the unencrypted initialization vector.
- 29. The apparatus of claim 24, further comprising means for calculating an authentication value.
- 30. The apparatus of claim 24, wherein the command context structure includes HMAC state information.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority under U.S.C. 119(e) from U.S. Provisional Application No. 60/403,030, entitled Methods And Apparatus For Encryption And Decryption Using Explicit IV, at the time of filing on Aug. 9, 2002, by David Chin, Mark Buer, and Roger Luo, the disclosure of which is herein incorporated by reference for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60403030 |
Aug 2002 |
US |