I'm working on a HIPAA project and it has come to my attention that I need to encrypt all column level data that does or may contain private health information. That said I'm looking to use the AES_ENCRYPT and AES_DECRYPT with MySQL in block_encryption_mode=aes-256-cbc. It looks like I need to have an IV (initialization vector) uniquely for each row in the table. I will need this same IV to both encrypt and decrypt. Should I just store it in a column in the database or something else?
Also for the column type is it better to use varbinary/blob or HEX the encrypted results and put it into a varchar/text?
Any other suggestions are most welcome to keep the data as secure as possible.