Patent ID: 7392399

Claim:
A method of processing a cryptographic packet comprising: receiving a first cryptographic packet in a network interface included in a host CPU, wherein receiving the first cryptographic packet includes determining the first cryptographic packet is encrypted; identifying a first set of data required to execute the first cryptographic packet; transferring the first cryptographic packet and the required first set of data to a cryptographic co-processor including transferring the first cryptographic packet and the required first set of data through a control queue, identifying a storage location of the cryptographic packet in a control word stored in the control queue, wherein at least a portion of the control queue is maintained in at least one hardware register, wherein the cryptographic co-processor and the host CPU are on the same die and wherein the cryptographic co-processor and the host CPU share access to the control queue and wherein the cryptographic co-processor and the host CPU share a single arithmetic unit and at least one memory access unit, wherein the single shared arithmetic unit is included in the cryptographic co-processor and wherein the at least one memory access unit is included in the host CPU, wherein identifying the first set of data required to execute the first cryptographic packet includes identifying the required first set of data in a first control word and wherein the first control word is located in the control queue; executing the first cryptographic packet in the cryptographic co-processor; notifying the host CPU that the execution of the first cryptographic packet is complete including updating the control word in the control queue; and receiving the executed first cryptographic packet in the host CPU.