Autotest of encryption algorithms in embedded secure encryption devices
AssigneeNational Semiconductor Corporation
InventorsThomas H. Likens, Thomas M. Norcross
Life of this patent
Estimating the term…
Loading patent…
AssigneeNational Semiconductor Corporation
InventorsThomas H. Likens, Thomas M. Norcross
Estimating the term…
An internal state machine controller in an integrated circuit containing a cryptographic implementation independently tests and verifies each of the encryption and decryption algorithms and modes within the implementation with minimal processor intervention. The cryptographic implementation automatically generates all input data and exercises all feedback modes independent of the core processor. Eliminating external test vectors results in a device less expensive to manufacture and verify. Since the cryptographic implementation tests are performed independent of the processor, other parts of the integrated circuit may be tested simultaneously with the testing of the cryptographic implementation. The processor loads in a single set of predetermined test vectors and then signals the state machine to start the testing of all the algorithms contained in the module. The output of each algorithm is used as the input of the next algorithm. The encrypted output from each algorithm is then fed back into the algorithms in reverse order and decrypted. At the end of this cycle the data returned should match the original data exactly. This is considered a cycle. The number of cycles is programmable depending on the test requirements and or fault coverage desired. In the preferred embodiment, the cryptographic implementation includes a cryptographic engine having encryption and decryption modes. Output Feedback (OFB), Electronic Codebook (ECB), Cipher Block Chaining (CBC), and Cipher Feedback (CFB) modes are supported in the preferred embodiment of the present invention.
A method of testing a cryptographic accelerator that implements a cryptographic function having a state that is either an encryption state or a decryption state, such that the encryption state is an inverse decryption state, and such that the decryption state is an inverse encryption state, implementing the cryptographic function in each of n modes, comprising the steps of:
A method of testing a cryptographic accelerator that implements a cryptographic function having a state that is either an encryption state or a decryption state, such that the encryption state is an inverse decryption state, and such that the decryption state is an inverse encryption state, implementing the cryptographic function in each of n modes, comprising the steps of:
Dependencies are inferred from the claim text.