1. A computer enabled method of performing a cryptographic process involving a key, comprising the acts of: providing a cryptographic process partitioned into at least first and second portions; executing the first portion in a first environment whereby a key for the cryptographic process is not stored in a memory associated with the first environment; executing the second portion in a second environment whereby a key for the cryptographic process may be stored in a memory associated with the second environment; and combining results of the first and second portions to provide an output of the cryptographic process.