# How much data does a session/data key typically encrypt?

I believe the masker key, $MK$, of a block cipher might be used for several years and is used only to encrypt $\textit{key encrypting keys}$, which in turn are used only to encrypt $\textit{data keys}$. These data keys are the ones actually used in cryptographic computations and are often also called $\textit{session keys}$. They have short lifetimes and may be used only for a single session. My questions are:

1. What is a 'single session'?
2. How much data might the same session key be used for (max or min?)
3. How long would a session key be used for?

I know answers to these questions depend on many things, such what is being encrypted, how long must it remain secure, etc. but just some ideas or real-world examples would be helful.

• Security degrades as you approach the birthday bound, i.e. $2^{b/2}$ blocks, where $b$ is the blocksize in bits. – CodesInChaos Feb 18 '18 at 9:18
• Session keys are typically derived from the next higher-level key using a Key Derivation Function, rather than encrypted as in the question. – fgrieu Feb 18 '18 at 15:43

The most common encryption protocol is probably TLS, as used in HTTPS. AES (with a 128-bit block size) is probably the most common encryption algorithm. Therefore the maximum amount of data that can be sent safely is $2^{128/2}=2^{64} blocks = 256EiB$.