Is there a term for "bootstrapping" encryption by storing an encrypted key? Say you want to encrypt a large file, perhaps a backup of a database. Encrypting the file will naturally take some time, due to the amount of data.

Now, if at any point you want to change the password protecting the file, a simple implementation would re-encrypt the entire file.

Another solution is to generate a key K, and use that to encrypt the file. Then encrypt K based on the password, and store the result with the encrypted file (perhaps in some meta data). Now, changing the password only requires a decrypt and re-encrypt of K using the new password, making the operation much much faster.

Is there a name for this kind of design?


Jonathan


PS: Appologies for the somewhat crude description, I am not well-versed in cryptology.
The random key that encrypts the message is commonly called a Data Encryption Key or DEK using a Data Encryption Mechanism or DEM. If this key is encrypted then it is encrypted using a Key Encryption Key or KEK within a Key Encryption Mechanism or KEM. Instead of "encryption" the term "enveloping" may also be used. An encrypted key is also called a wrapped key and the key that does the wrapping is then called a wrapping key. This just names the keys and lower mechanisms, not the overall scheme.



I'm not sure if there is a single term that is used for for this type of scheme. Usually the scheme is not explicitly mentioned. It is often part of a scheme that specifies a container format such as PGP. PGP however calls the data keys session keys:


  The message is encrypted with a session key, and the session key is
     itself encrypted and stored in the Encrypted Session Key packet or
     the Symmetric-Key Encrypted Session Key packet.


Note that PGP can also directly encrypt using the key derived from the password.



I've heard the term key hierarchy used a lot in this sense. Here the password / derived key is a higher level key than the one encrypting the data itself. Multiple data keys may be encrypted or derived from the password derived key material. So you could say that the file is encrypted using a hierarchy of keys, but you would likely still be required to explain what you mean by that.