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]

Reply via email to