The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
May. 20, 1997
Filed:
Aug. 31, 1995
Thomas H Likens, Fort Worth, TX (US);
Thomas M Norcross, Arlington, TX (US);
National Semiconductor Corporation, Santa Clara, CA (US);
Abstract
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.