Claims
- 1. A method for encrypting and decrypting data, the method comprising:
receiving data from a memory device coupled to a first memory interface; determining which one of an encryption operation, a decryption operation and a bypass operation to be performed within a chip on said received data; if said determined encryption operation is to be performed,
executing said encryption operation on said received data within said chip; and transferring resulting data from said executed encryption operation back to said memory device; if said determined decryption operation is to be performed,
executing said decryption operation on said received data within said chip; and transferring resulting data from said executed decryption operation back to said memory device; if said determined bypass operation is to be performed,
executing said bypass operation on said received data within said chip; and transferring said received data back to said memory device.
- 2. The method according to claim 1, further comprising identifying at least one encryption key to be utilized for said execution of said encryption operation.
- 3. The method according to claim 2, further comprising identifying at least one decryption key to be utilized for said execution of said decryption operation.
- 4. The method according to claim 3, further comprising:
instructing an encryption/decryption processor to perform said execution of said encryption operation using said at least one encryption key if said determined operation is an encryption operation; and instructing an encryption/decryption processor to perform said execution of said decryption operation using said at least one decryption key if said determined operation is a decryption operation.
- 5. The method according to claim 4, further comprising bypassing said encryption and decryption operations of said encryption/decryption processor if said bypass operation is to be performed.
- 6. The method according to claim 1, further comprising buffering said received data in at least one buffer integrated within said chip prior to said execution of said encryption and decryption operations.
- 7. The method according to claim 6, further comprising buffering said resulting data from said encryption and decryption operations, and said data from said bypass operation in said at least one buffer prior to said transfer back to said memory device.
- 8. The method according to claim 1, wherein said receiving further comprises receiving said data from a first location of said memory device and said transferring further comprises transferring said resulting data and said bypass data to a second memory location of said memory device.
- 9. The method according to claim 1, wherein said memory device is external to said chip.
- 10. A machine-readable storage having stored thereon, a computer program having at least one code section for encrypting and decrypting data, the at least one code section executable by a machine for causing the machine to perform steps comprising:
receiving data from a memory device coupled to a first memory interface; determining which one of an encryption operation, a decryption operation and a bypass operation to be performed within a chip on said received data; if said determined encryption operation is to be performed,
executing said encryption operation on said received data within said chip; and transferring resulting data from said executed encryption operation back to said memory device; if said determined decryption operation is to be performed,
executing said decryption operation on said received data within said chip; and transferring resulting data from said executed decryption operation back to said memory device; if said determined bypass operation is to be performed,
executing said bypass operation on said received data within said chip; and transferring said received data back to said memory device.
- 11. The machine-readable storage according to claim 10, further comprising code for identifying at least one encryption key to be utilized for said execution of said encryption operation.
- 12. The machine-readable storage according to claim 11, further comprising code for identifying at least one decryption key to be utilized for said execution of said decryption operation.
- 13. The machine-readable storage according to claim 12, further comprising code for instructing an encryption/decryption processor to perform said execution of said encryption operation using said at least one encryption key if said determined operation is an encryption operation and for instructing an encryption/decryption processor to perform said execution of said decryption operation using said at least one decryption key if said determined operation is a decryption operation.
- 14. The machine-readable storage according to claim 13, further comprising code for bypassing said encryption and decryption operations of said encryption/decryption processor if said bypass operation is to be performed.
- 15. The machine-readable storage according to claim 10, further comprising code for buffering said received data in at least one buffer integrated within said chip prior to said execution of said encryption and decryption operations.
- 16. The machine-readable storage according to claim 15, further comprising code for buffering said resulting data from said encryption and decryption operations, and said data from said bypass operation in said at least one buffer prior to said transfer back to said memory device.
- 17. The machine-readable storage according to claim 10, wherein said receiving code further comprises code for receiving said data from a first location of said memory device and said transferring further comprises transferring said resulting data and said bypass data to a second memory location of said memory device.
- 18. The machine-readable storage according to claim 10, wherein said memory device is external to said chip.
- 19. A system for encrypting and decrypting data, the system comprising:
at least one buffer adapted to receive data from a memory device coupled to a first memory interface; at least one key and encryption/decryption selector and controller adapted to determine one of an encryption, decryption and bypass operations to be performed on said received data; at least one encryption/decryption processor adapted to execute one of said encryption and decryption operations on said received data within a chip; and said at least one encryption/decryption processor adapted to facilitate transfer of one of a resulting data from said encryption and decryption operations, and data from said bypass operation back to said memory device.
- 20. The system according to claim 19, wherein said key and encryption/decryption selector and controller is further adapted to identify at least one encryption key to be utilized for said execution of said encryption operation.
- 21. The system according to claim 20, wherein said key and encryption/decryption selector and controller is further adapted to identify at least one decryption key to be utilized for said execution of said decryption operation.
- 22. The system according to claim 21, wherein said key and encryption/decryption selector and controller is further adapted to instruct an encryption/decryption processor to perform said execution of said encryption operation using said at least one encryption key if said determined operation is an encryption operation and to instruct said encryption/decryption processor to perform said execution of said decryption operation using said at least one decryption key if said determined operation is a decryption operation.
- 23. The system according to claim 22, further comprising at least one selector adapted to select a bypass of said encryption and decryption operations of said encryption/decryption processor if said bypass operation is to be performed.
- 24. The system according to claim 19, wherein said at least one buffer is adapted to buffer said received data in said at least one buffer integrated within said chip prior to said execution of said encryption and decryption operations.
- 25. The system according to claim 24, wherein said at least one buffer is adapted to buffer said resulting data from said encryption and decryption operations, and to buffer said data from said bypass operation in said at least one buffer prior to said transfer back to said memory device.
- 26. The system according to claim 19, further comprising a memory interface adapted to receive said received data from a first location of said memory device and transfer said resulting data and said bypass data to a second memory location of said memory device.
- 27. The system according to claim 26, wherein said memory interface is integrated within said chip.
- 28. The system according to claim 19, wherein said memory device is external to said chip.
- 29. The system according to claim 19, further comprising a CPU interface adapted to provide control of said chip via an external processor through the CPU interface.
CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE
[0001] This application makes reference to, claims priority to and claims the benefit of United States Provisional patent application Ser. No. ______ (Attorney Docket No. 14884US01) entitled “System and Method for Data Encryption and Decryption” filed on Mar. 14, 2003.
[0002] This application also makes reference to:
[0003] U.S. patent application Ser. No. ______ (Attorney Docket No. 14888US02) entitled “Method And System For Controlling An Encryption/Decryption Engine Using Descriptors” filed on Apr. 16, 2003;
[0004] U.S. patent application Ser. No. ______ (Attorney Docket No. 14889US02) entitled “Method And System For Data Encryption/Decryption Key Generation And Distribution” filed on Apr. 16, 2003;
[0005] U.S. patent application Ser. No. ______ (Attorney Docket No. 14890US02) entitled “Method And System For Secure Access And Processing Of An Encryption/Decryption Key” filed on Apr. 16, 2003; and
[0006] U.S. patent application Ser. No. ______ (Attorney Docket No. US02) entitled “Method And System For Data Encryption And Decryption” filed on Apr. 16, 2003.
[0007] The above stated applications are incorporated herein by reference in their entirety.