An apparatus and method for performing cryptographic operations. In one
embodiment, an apparatus is provided for performing cryptographic
operations. The apparatus includes fetch logic, keygen logic, and
execution logic. The fetch logic is disposed within a microprocessor and
receives cryptographic instruction single atomic cryptographic
instruction as part of an instruction flow executing on the
microprocessor. The cryptographic instruction single atomic 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 disposed within the
microprocessor and is operatively coupled to the single atomic
cryptographic instruction. The keygen logic directs the microprocessor to
expand the provided cryptographic key into the corresponding key
schedule. The execution logic is coupled to the keygen logic. The
execution logic is disposed within the microprocessor and expands the
provided cryptographic key into the corresponding key schedule.