-
Notifications
You must be signed in to change notification settings - Fork 26
DX-108149: Move ECB encryption mode into its own module #103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DX-108149: Move ECB encryption mode into its own module #103
Conversation
|
Thanks for opening a pull request! If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project. Then could you also rename the pull request title in the following format? or See also: |
4de0ec4 to
7bbf268
Compare
c4529af to
57fb0ab
Compare
57fb0ab to
bc44e63
Compare
|
Is there a plan to make these changes upstream in apache/arrow? |
|
Yes, once all of the encryption has been implemented |
8817691
into
dremio:dremio_26.1_18.1.0
Before adding the new modes, we need to reorganize the existing code to make room for the new stuff
This PR:
cpp/src/gandiva/encrypt_utils.*→cpp/src/gandiva/encrypt_utils_ecb.*)VARBINARYinstead ofVARCHARasVARCHARis vulnerable to non-UTF8-compliant values. For example, this query errors out withunexpected byte \24 encountered while decoding utf8 string:AES_ENCRYPTandAES_DECRYPTsignatures after this change:(utf8, utf8) → utf8- the original signature for backward compatibility(varbinary, varbinary, 'ECB') → varbinary- the new signature that will be consistent with signatures for CBC and GCM, and isn't vulnerable to non-UTF8-compliant dataBoth signatures ultimately are handled by the same implementation