Patent ID: 7970133

Claim:
A method for secure and flexible key schedule generation via a host computer, comprising: loading a key schedule algorithm and a cryptographic algorithm into a cryptographic engine of the host computer in response to an input command received via a user input device connected to the host computer, wherein the key schedule algorithm and the cryptographic algorithm are at least one of: encrypted and digitally signed; loading the cryptographic algorithm, when selected by the host computer, into a cryptographic co-processor; and loading the key schedule algorithm into a separate virtual machine, the separate virtual machine being one of: a partition of a general purpose processor of the host computer and a partition of an operating system of the host computer, the separate virtual machine restricting access to memory located outside of an execution space of the separate virtual machine, said separate virtual machine further restricting access to serial ports of the host computer, wherein a microkernel is implemented by the host computer for ensuring that the key schedule algorithm is loaded into the separate virtual machine, the key schedule algorithm being configured for generating subkeys based upon at least one of: a master encryption key and a master decryption key, the cryptographic algorithm being configured for utilizing the subkeys to at least one of: encrypt data; and decrypt data.