FIFO architecture with in-place cryptographic service
First Claim
1. A cryptographic system comprising:
- a first FIFO data storage device having a primary write address to receive unprocessed data via a first data path into the first FIFO data storage device, a primary read address, a secondary read address and a secondary write address; and
an encryption/decryption circuit configured to read the unprocessed data via the secondary read address, selectively encrypt or decrypt the unprocessed data read via the secondary read address to generate processed data, and write the processed data back into the first FIFO data storage device via the secondary write address, such that the processed data written back into the first FIFO data storage device can be read from the first FIFO data storage device via the primary read address.
1 Assignment
0 Petitions
Accused Products
Abstract
A FIFO is implemented as a buffer to encrypt/decrypt packet data and return the data to the same location where it was initially stored. No additional buffer or difficult buffer size decision is therefore required to compensate for the latency associated with the encryption/decryption. The FIFO implementation includes primary and secondary pointers. The primary pointers are available to the transmit/receive circuitry and the secondary pointers are used by the cryptographic circuit. When data is initially loaded into the FIFO, the FIFO does not report data availability to the primary user until the secondary user (cryptographic service) has read a block and returned the block to the same location. The FIFO is implemented via a single port RAM. Blocks are based on the encryption block size. The FIFO similarly reports packet availability based on application packet sizes (such as 188 MPEG2 transport stream packets).
-
Citations
17 Claims
-
1. A cryptographic system comprising:
-
a first FIFO data storage device having a primary write address to receive unprocessed data via a first data path into the first FIFO data storage device, a primary read address, a secondary read address and a secondary write address; and
an encryption/decryption circuit configured to read the unprocessed data via the secondary read address, selectively encrypt or decrypt the unprocessed data read via the secondary read address to generate processed data, and write the processed data back into the first FIFO data storage device via the secondary write address, such that the processed data written back into the first FIFO data storage device can be read from the first FIFO data storage device via the primary read address. - View Dependent Claims (2, 3, 4)
-
-
5. A cryptographic system comprising:
-
a first single port random access memory (RAM) configured with a primary write address to receive unprocessed data via a first data path into the single port RAM, a primary read address, a secondary read address and a secondary write address; and
an encryption/decryption circuit configured to read the unprocessed data via the secondary read address, selectively encrypt or decrypt the unprocessed data read via the secondary read address to generate processed data, and write the processed data back into the first single port RAM via the secondary write address, such that the processed data written back into the first single port RAM can be read from the first single port RAM via the primary read address. - View Dependent Claims (6)
-
- 7. A cryptographic system comprising a first FIFO memory configured with a primary write address to receive unprocessed data into the first FIFO memory via a first data path, a secondary read address to provide access to the unprocessed data such that an external user can retrieve and encrypt or decrypt the unprocessed data, a secondary write address to receive data back into the first FIFO memory that has first been read from the first FIFO memory and encrypted or decrypted, and a primary read address to provide access to data that has been read from the first FIFO memory, encrypted or decrypted, and written back into the first FIFO memory via the secondary write address.
-
13. A method of performing data cryptography comprising the steps of:
-
providing a first FIFO memory having a primary write address, a secondary read address, a primary read address, and a secondary write address;
writing data into the first FIFO memory via the primary write address;
reading the written data via the secondary read address;
selectively encrypting or decrypting the read data to generate processed data; and
writing the processed data into the first FIFO memory via the secondary write address. - View Dependent Claims (14)
-
-
15. A method of performing data cryptography comprising the steps of:
-
providing a first FIFO memory having a primary write address, a secondary read address, a primary read address, and a secondary write address;
writing data into the first FIFO memory via its primary write address;
providing a second FIFO memory having a primary write address, a secondary read address, a primary read address, and a secondary write address;
writing data into the second FIFO memory via its primary write address;
providing a switcher configured to multiplex between the first and second FIFO memory secondary read addresses and the first and second FIFO memory secondary write addresses;
multiplexing between the first and second FIFO memory secondary read addresses to selectively access the data written into the first and second FIFO memories;
selectively encrypting or decrypting the multiplexed data to generate processed data;
writing processed data generated from data stored in the first FIFO memory back into the first FIFO memory via its secondary write address; and
writing processed data generated from data stored in the second FIFO memory back into the second FIFO memory via its secondary write address. - View Dependent Claims (16, 17)
-
Specification