Skip to content

Navigation Menu

Sign in
Sign up

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

Open
Jack1007 wants to merge 2 commits into
apache:master from
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:master from
Jack1007:ctr-support-dev

Conversation

@Jack1007

@Jack1007 Jack1007 commented Aug 21, 2026

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
}

+ /// Use the AES_GCM_CTR_V1 algorithm: metadata modules use AES-GCM, page data uses AES-CTR.
+ pub fn with_aes_gcm_ctr_v1(mut self) -> Self {

@slfan1989 slfan1989 Aug 29, 2026

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.

The new writer mode is not covered by any test. The updated tests only read the pre-generated CTR fixture, and nothing calls with_aes_gcm_ctr_v1(). Also, the root workspace excludes vendored arrow-rs, so cargo test --workspace does not execute these patched tests. Please add a full Parquet write/read round-trip using this option and ensure the targeted vendored Parquet tests run in CI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@slfan1989 slfan1989 slfan1989 left review comments
Copilot code review Copilot
Copilot review effort, defaults to Lite
Applies to this pull request for everyone.Learn more about Copilot code review.
Copilot left review comments

At least 1 approving review is required to merge this pull request.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Add AES_GCM_CTR_V1 encryption support for Parquet

AltStyle によって変換されたページ (->オリジナル) /