Skip to content

[AURON #2477] Add AES_GCM_CTR_V1 encryption support for Parquet - #2478

Open
Jack1007 wants to merge 2 commits into
apache:masterfrom
Jack1007:ctr-support-dev
Open

[AURON #2477] Add AES_GCM_CTR_V1 encryption support for Parquet#2478
Jack1007 wants to merge 2 commits into
apache:masterfrom
Jack1007:ctr-support-dev

Conversation

@Jack1007

Copy link
Copy Markdown

Which issue does this PR close?

Closes #2477

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for reading/writing Parquet files encrypted with the AES_GCM_CTR_V1 algorithm by introducing an upstream arrow-rs patch that uses AES-GCM for metadata modules and AES-CTR for page data (via aws-lc-rs), enabling Auron to interoperate with CTR-encrypted Parquet tables (Issue #2477).

Changes:

  • Extends Parquet modular encryption to support AES_GCM_CTR_V1, separating page data vs metadata encryption/decryption paths.
  • Introduces AES-CTR block encryptor/decryptor implemented with aws-lc-rs and wires it through file/page encryption plumbing.
  • Updates Parquet encryption tests to validate successful reads instead of asserting NYI.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread dev/vendors/patches/arrow-rs/0009-parquet-AES_GCM_CTR_V1.patch
Comment on lines +171 to +175
+#[derive(Debug, Clone)]
+pub(crate) struct CtrBlockEncryptor {
+ key: Arc<aws_lc_rs::cipher::EncryptingKey>,
+ nonce_sequence: CounterNonce,
+}
Comment thread dev/vendors/patches/arrow-rs/0009-parquet-AES_GCM_CTR_V1.patch

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.

Comment on lines +16 to +18
# Enable Parquet modular encryption support
-encryption = ["dep:ring"]
+encryption = ["dep:ring", "dep:aws-lc-rs"]
@Jack1007 Jack1007 changed the title Add AES_GCM_CTR_V1 encryption support for Parquet [AURON #2477] Add AES_GCM_CTR_V1 encryption support for Parquet Aug 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add AES_GCM_CTR_V1 encryption support for Parquet

4 participants