Skip to content

Conversation

@hsiang-c
Copy link

@hsiang-c hsiang-c commented Jan 16, 2026

Which issue does this PR close?

Rationale for this change

  • Iceberg spec supports AES key sizes of 128, 192 and 256 bits. Iceberg Rust depends on arrow-rs for Parquet I/O, I'd like to start supporting AES 256 with this PR.

What changes are included in this PR?

  • Without breaking the existing public APIs, I added a new_with_algorithm function to RingGcmBlockEncryptor and RingGcmBlockDecryptor, which takes one more Algorithm argument.

Are these changes tested?

Yes, unit test and on AES-256 encrypted Parquet files.

Are there any user-facing changes?

Yes, added a new API

Copy link
Contributor

@xanderbailey xanderbailey left a comment

Choose a reason for hiding this comment

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

When I exposed quote style here I exported the underlying QuoteStyle is that something we might want to do here also for Algorithm?

@hsiang-c hsiang-c marked this pull request as ready for review January 23, 2026 07:27
@hsiang-c
Copy link
Author

@xanderbailey

Thank you for the review, I took a look at your PR. You made QuoteStyle part of Writer and expose as part of the API.

Do you mean you'd like to make Algorithm a field of RingGcmBlockDecryptor and RingGcmBlockEncryptor and expose them instead of importing it from ring::aead?

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

Labels

parquet Changes to the parquet crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Parquet] Support other encryption/decryption key size

2 participants