AES-128 Encryption/Decryption support in Vertica 9.0

Does Vertica 9.0 support AES Decryption using a key natively?
I am ingesting data into Vertica that has column values that have been encrypted in different system (Hive) using a key.
I have the key, however am not able to decrypt using the key in Vertica.
I tried encryption_package from Vertica-Extension-Packages on github.

I can provide additional details, if required.
Thanks in advance.


  • Options
    Bryan_HBryan_H Vertica Employee Administrator

    Hi, and apologies for not seeing this sooner. My guess is that the encryption support in the C++ UDF in Vertica-Extensions is not quite the same as what is used by Hive, where our C++ UDF example is eight years old and limited in options while Hive uses the javax.crypto package.

    My guess is that you'd need to implement a Java UDF derived from the AesBase and AesDecrypt classes that Hive uses. These can be found at https://github.com/apache/hive/tree/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic in the GenericUDFAesBase.java and GenericUDFAesDecrypt.java classes.

  • Options
    Sudhakar_BSudhakar_B Vertica Customer ✭✭

    Thanks much Bryan,
    My turn to apologize for not seeing your response sooner. It all worked out at the customer site as they started using encrypted values for analytics/reporting. They just encrypted the specific columns all the respective tables before feeding to Vertica.
    Thanks much for your help though. I'll pursue this as some cycle permits.

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file