Patents by Inventor Thomas Crispin

Thomas Crispin has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20040255130
    Abstract: The present invention provides an apparatus and method for performing cryptographic operations. In one embodiment, an apparatus is provided for performing cryptographic operations. The apparatus includes a cryptographic instruction, keygen logic, and execution logic. The cryptographic instruction is received by a computing device as part of an instruction flow executing on the computing device. The cryptographic instruction prescribes one of the cryptographic operations, and also prescribes that a provided cryptographic key be expanded into a corresponding key schedule for employment during execution of the one of the cryptographic operations. The keygen logic is operatively coupled to the cryptographic instruction. The keygen logic directs the computing device to expand the provided cryptographic key into the corresponding key schedule. The execution logic is coupled to the keygen logic. The execution logic expands the provided cryptographic key into the corresponding key schedule.
    Type: Application
    Filed: April 16, 2004
    Publication date: December 16, 2004
    Applicant: VIA Technologies Inc.
    Inventors: G. Glenn Henry, Thomas A. Crispin, Timothy A. Elliott, Terry Parks
  • Publication number: 20040255129
    Abstract: The present invention provides an apparatus and method for performing cryptographic operations on a plurality of input data blocks within a processor. In one embodiment, an apparatus for performing cryptographic operations is provided. The apparatus includes a cryptographic instruction, algorithm logic, and execution logic. The cryptographic instruction is received by a computing device as part of an instruction flow. The cryptographic instruction prescribes one of the cryptographic operations and one of a plurality of cryptographic algorithms. The algorithm logic is operatively coupled to the cryptographic instruction and directs the computing device to execute the one of the cryptographic operations according to the one of a plurality of cryptographic algorithms. The execution logic is operatively coupled to the algorithm logic and executes the one of the cryptographic operations.
    Type: Application
    Filed: March 15, 2004
    Publication date: December 16, 2004
    Applicant: VIA Technologies Inc.
    Inventors: G. Glenn Henry, Thomas A. Crispin, Terry Parks
  • Publication number: 20040250090
    Abstract: The present invention provides an instruction for employment by a device. The instruction directs the device to perform a cryptographic operation. The instruction has and opcode field and a repeat prefix field. The opcode field prescribes that the device accomplish the cryptographic operation as further specified within a control word stored in a memory. The repeat prefix field is coupled to the opcode field. The repeat prefix field indicates that the cryptographic operation prescribed by the instruction is to be accomplished on a plurality of blocks of input data.
    Type: Application
    Filed: December 5, 2003
    Publication date: December 9, 2004
    Applicant: IP-First, LLC
    Inventors: Thomas A. Crispin, G. Glenn Henry, Terry Parks
  • Publication number: 20040250091
    Abstract: The present invention provides an apparatus and method for performing cryptographic operations on a plurality of input data blocks within a processor. In one embodiment, an apparatus for performing cryptographic operations is provided. The apparatus includes a cryptographic instruction and translation logic. The cryptographic instruction is received by a computing device as part of an instruction flow. The cryptographic instruction prescribes one of the cryptographic operations. The translation logic translates the cryptographic instruction into micro instructions. The micro instructions are ordered to direct the computing device to load a second input text block and to execute the one of the cryptographic operations on the second input text block prior to directing the computing device to store an output text block corresponding to a first input text block. Consequently, the output text block is stored during execution of the one of the cryptographic operations on the second input text block.
    Type: Application
    Filed: March 15, 2004
    Publication date: December 9, 2004
    Applicant: VIA Technologies Inc.
    Inventors: G. Glenn Henry, Thomas A. Crispin, Timothy A. Elliott, Arturo Martin-de-Nicolas, Terry Parks
  • Publication number: 20040228481
    Abstract: The present invention provides an apparatus and method for performing cryptographic operations on a plurality of input data blocks within a processor. In one embodiment, an apparatus for performing cryptographic operations is provided. The apparatus includes a cryptographic instruction and execution logic. The cryptographic instruction is received by a computing device as part of an instruction flow executing on the computing device, wherein the cryptographic instruction prescribes one of the cryptographic operations. The execution logic is operatively coupled to the cryptographic instruction and executes the one of the cryptographic operations. The one of the cryptographic operations includes indicating whether the one of the cryptographic operations has been interrupted by an interrupting event.
    Type: Application
    Filed: December 4, 2003
    Publication date: November 18, 2004
    Applicant: IP-First, LLC
    Inventors: Thomas A. Crispin, G. Glenn Henry, Arturo Martin-de-Nicolas, Terry Parks
  • Publication number: 20040228483
    Abstract: The present invention provides an apparatus and method for performing cryptographic operations on a plurality of input data blocks within a processor. In one embodiment, an apparatus for performing cryptographic operations is provided. The apparatus includes a cryptographic instruction, CFB mode logic, and execution logic. The cryptographic instruction is received by a computing device as part of an instruction flow executing on the computing device. The cryptographic instruction prescribes one of the cryptographic operations. The one of the cryptographic operations includes a plurality of CFB block cryptographic operations performed on a corresponding plurality of input text blocks. The CFB mode logic is operatively coupled to the cryptographic instruction. The CFB mode logic directs the computing device to update pointer registers and intermediate results for each of the plurality of CFB block cryptographic operations. The execution logic is operatively coupled to the CFB mode logic.
    Type: Application
    Filed: April 16, 2004
    Publication date: November 18, 2004
    Applicant: VIA Technologies Inc.
    Inventors: G. Glenn Henry, Thomas A. Crispin, Terry Parks
  • Publication number: 20040228479
    Abstract: The present invention provides an apparatus and method for performing cryptographic operations on a plurality of input data blocks within a processor. In one embodiment, an apparatus for performing cryptographic operations is provided. The apparatus includes a cryptographic instruction and execution logic. The cryptographic instruction is received by logic within a processor, wherein said cryptographic instruction prescribes one of the cryptographic operations. The execution logic is coupled to said logic. The execution logic performs the one of the cryptographic operations.
    Type: Application
    Filed: September 29, 2003
    Publication date: November 18, 2004
    Applicant: IP-First, LLC
    Inventors: Thomas A. Crispin, G. Glenn Henry, Terry Parks
  • Publication number: 20040223610
    Abstract: The present invention provides an apparatus and method for performing cryptographic operations on a plurality of input data blocks within a processor. In one embodiment, an apparatus for performing cryptographic operations is provided. The apparatus includes a cryptographic instruction, CBC block pointer logic, and execution logic. The cryptographic instruction is received by a computing device as part of an instruction flow executing on the computing device. The cryptographic instruction prescribes one of the cryptographic operations. The one of the cryptographic operations includes a plurality of CBC block cryptographic operations performed on a corresponding plurality of input text blocks. The CBC block pointer logic is operatively coupled to the cryptographic instruction. The CBC block pointer logic directs the computing device to update pointer registers and intermediate results for each of the plurality of CBC block cryptographic operations.
    Type: Application
    Filed: April 16, 2004
    Publication date: November 11, 2004
    Applicant: VIA Technologies Inc.
    Inventors: G. Glenn Henry, Thomas A. Crispin, Terry Parks
  • Publication number: 20040208072
    Abstract: The present invention provides an apparatus and method for performing cryptographic operations on a plurality of input data blocks within a computing device, where the size cryptographic key that is employed is programmable. In one embodiment, an apparatus for performing cryptographic operations is provided. The apparatus includes a cryptographic instruction and execution logic. The cryptographic instruction is received by a computing device as part of an instruction flow executing on the computing device. The cryptographic instruction prescribes one of the cryptographic operations, and also one of a plurality of cryptographic key sizes. The execution logic is operatively coupled to the cryptographic instruction. The execution logic executes the one of the cryptographic operations. The execution logic has a cryptographic key size controller that employs the one of a plurality of cryptographic key sizes during execution of the one of the cryptographic operations.
    Type: Application
    Filed: April 16, 2004
    Publication date: October 21, 2004
    Applicant: VIA Technologies Inc.
    Inventors: G. Glenn Henry, Thomas A. Crispin, Terry Parks
  • Publication number: 20040208318
    Abstract: The present invention provides an apparatus and method for performing cryptographic operations on a plurality of input data blocks within a processor. In one embodiment, an apparatus for performing cryptographic operations is provided. The apparatus includes a cryptographic instruction, keygen logic, and execution logic. The cryptographic instruction is received by a computing device as part of an instruction flow executing on the computing device. The cryptographic instruction prescribes one of the cryptographic operations, and also prescribes that a user-generated key schedule be employed when executing the one of the cryptographic operations. The keygen logic is operatively coupled to the cryptographic instruction. The keygen logic directs the computing device to load the user-generated key schedule. The execution logic is operatively coupled to the keygen logic. The execution logic employs the user-generated key schedule to execute the one of the cryptographic operations.
    Type: Application
    Filed: March 15, 2004
    Publication date: October 21, 2004
    Applicant: VIA Technologies Inc.
    Inventors: G. Glenn Henry, Thomas A. Crispin, Terry Parks
  • Publication number: 20040158591
    Abstract: An apparatus and method for reducing sequential bit correlation in a random number generator. The method includes generating a stream of random bits and selecting every Nth bit from the stream for accumulation and delivery to the requesting software application rather than delivering all the bits in the stream, where N is a programmable value. In one embodiment, the apparatus for carrying out the method includes a microprocessor that includes elements such as an arithmetic and logic unit, store unit, branching circuitry, and registers that execute instructions specified in microcode stored in a microcode memory. In another embodiment, the apparatus includes a plurality of multiplexers that select every Nth bit. In one embodiment, N is specified as an input parameter to a microprocessor instruction that stores the random bits selected.
    Type: Application
    Filed: February 11, 2003
    Publication date: August 12, 2004
    Applicant: IP-First, LLC.
    Inventor: Thomas A. Crispin
  • Publication number: 20040098429
    Abstract: A microprocessor including a random number generator (RNG) that performs a self-test on reset and selectively enables/disables itself based on the self-test results is disclosed. The RNG includes a self-test unit that performs the self-test to determine whether the RNG is functioning properly in response to either a power-up or warm reset. If the self-test fails, the microprocessor disables the RNG. Disabling the RNG may include returning extended function information indicating the RNG is not present in response to execution of a CPUID instruction. Disabling the RNG may include generating a general protection fault in response to execution of a RDMSR or WRMSR instruction specifying an MSR associated with the RNG. Disabling the RNG may include generating an invalid opcode fault in response to execution of an instruction that attempts to obtain random numbers from the RNG. In one embodiment, the self-test is specified by FIPS 140-2.
    Type: Application
    Filed: February 11, 2003
    Publication date: May 20, 2004
    Applicant: IP-First, LLC.
    Inventors: Thomas A. Crispin, G. Glenn Henry, Terry Parks