Encrypting a digital object on a key ID selected therefor
AssigneeMicrosoft Corporation
InventorsMarcus Peinado, Ramarathnam Venkatesan
Life of this patent
Estimating the term…
Abstract
To encrypt a digital object, a key ID is selected for the digital object, and a function ƒ( ) having an input and an output is selected. The selected key ID is then employed as the input to the function ƒ( ), and the output of such function ƒ( ) is employed as the key (KD) for the digital object: ƒ(key ID)key (KD). The digital object is then according to such key (KD), and the encrypted digital object is distributed.
Claims13
A computer-readable medium having computer-executable instructions for producing a key (KD) for decrypting a digital object, the digital object having been encrypted by:
- selecting a key ID for the digital object;
- selecting a function ƒ( ) having an input and an output;
- employing the selected key ID as the input to the function ƒ( );
- employing the output of such function ƒ( ) as the key (KD) for the digital object:
- ƒ(key ID)key (KD),
- encrypting such digital object according to such key (KD);
- and
- distributing such encrypted digital object, along with the key ID, the computer-readable medium comprising instructions for:
- receiving a request for the key (KD) from a requestor, the request including the key ID;
- approving the request;
- employing the included key ID as the input to the function ƒ( );
- employing the output of such function ƒ( ) as the requested key (KD):
- ƒ(key ID)key (KD);
- and
- distributing such key (KD) to the requestor.
A computer system for requesting a key (KD) for decrypting a digital object, the digital object having been encrypted by:
- selecting a key ID for the digital object;
- selecting a function ƒ( ) having an input and an output;
- employing the selected key ID as the input to the function ƒ( );
- employing the output of such function ƒ( ) as the key (KD) for the digital object:
- ƒ(key ID)key (KD),
- encrypting such digital object according to such key (KD);
- and
- distributing such encrypted digital object, along with the key ID the computer system comprising:
- means for receiving the distributed encrypted digital object, along with the key ID;
- means for obtaining the key ID from same;
- and
- means for sending a request for the key (KD), the request including the key ID, wherein upon approval of the request, the included key ID is employed as the input to the function ƒ( ) and the output of such function ƒ( ) as the requested key (KD):
- ƒ(key ID)key (KD), and
- such key (KD) being distributed;
- means for receiving the distributed key (KD).
A computer system for decrypting a digital object, wherein the digital object has been encrypted by:
- selecting a key ID for the digital object;
- selecting a secret seed having a seed ID;
- selecting a function ƒ( ) having an input and an output;
- employing the selected key ID and the selected seed as the input to the function ƒ( );
- employing the output of such function ƒ( ) as the key (KD) for the digital object:
- ƒ(key ID, seed)key (KD),
- encrypting such digital object according to such key (KD);
- and
- distributing such encrypted digital object, along with the key ID and the seed ID, the computer system further comprising:
- means for receiving the distributed encrypted digital object, along with the key ID and the seed ID;
- means for obtaining the key ID and seed ID from same;
- means for sending a request for the key (KD), the request including the key ID and seed ID, wherein upon approval of the request,
- the secret seed is selected based on the received seed ID;
- the included key ID and the selected secret seed are employed as the input to the function ƒ( );
- and
- the output of such function ƒ( ) is employed as the requested key (KD):
- ƒ(key ID, seed)key (KD),
- such key (KD) being distributed;
- and
- means for receiving the distributed key (KD).
A computer system for decrypting a digital object, wherein the digital object has been encrypted by:
- selecting a key ID for the digital object;
- selecting a secret seed having a seed ID;
- selecting a function ƒ( ) having an input and an output;
- employing the selected key ID, the selected seed, and the seed ID thereof as the input to the function ƒ( );
- employing the output of such function ƒ( ) as the key (KD) for the digital object:
- ƒ(key ID, seed, seed ID)key (KD),
- encrypting such digital object according to such key (KD);
- and
- distributing such encrypted digital object, along with the key ID and the seed ID, the computer system further comprising:
- means for receiving the distributed encrypted digital object, along with the key ID and the seed ID;
- means for obtaining the key ID and seed ID from same;
- means for sending a request for the key (KD), the request including the key ID and seed ID, wherein upon approval of the request,
- the secret seed is selected based on the received seed ID;
- the included key ID, the included seed ID, and the selected secret seed are employed as the input to the function ƒ( );
- and
- the output of such function ƒ( ) is employed as the requested key (KD):
- ƒ(key ID, seed, seed ID)key (KD),
- such key (KD) being distributed;
- and
- means for receiving the distributed key (KD).
Dependencies are inferred from the claim text.