pitrou commented on code in PR #259: URL: https://github.com/apache/parquet-format/pull/259#discussion_r1628973346
########## Encryption.md: ########## @@ -128,6 +127,26 @@ unique nonce with a length of 12 bytes (96 bits). Notice: the NIST specification uses a term “IV” for what is called “nonce” in the Parquet encryption design. +#### 4.1.4 Invocation limit +According to the section 8.3 of the NIST SP 800-38D document, one key can be used for up to +2^32 encryption operations with RGB-based nonces in the AES GCM cipher. If this limit is exceeded, +the data encryption can be broken. The bulk of modules in a parquet file are page headers and data +pages. Therefore, one encryption key must not be applied to more than 2^31 (~2 billion) pages. In +parquet files encrypted with multiple keys (footer and column keys), the invocation limit is +applied to each key separately. + + +Parquet is a local library, with each instance running in a process unaware of other instances. +Therefore Parquet cannot be responsible for enforcing the key invocation limits. The +responsibility lies with higher layers implementing the distributed applications that launch +cluster nodes and supply them with parquet encryption keys. Review Comment: This assumes quite arbitrarily a particular mode of operation, IMHO. Perhaps this need not be explained at all, as people can easily figure out the implications for their particular architecture. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
