Encryption Flow
Encrypting a column involves following phases:
Pre-encryption phase
In this phase, the system:
- Adds an empty column, - column_NEWto hold encrypted values to the base table.
- Adds an identity column (if does not already exist) and fills unique value for each row in this column. - Note - This step could take several minutes depending on the number of rows in the table. 
- Adds an empty column, - column_IVto hold initialization vectors to the base table, if you are applying IVs at the field level.
- Creates views to select data from the table. 
- Creates triggers to insert plaintext and ciphertext into the table. 
Encryption phase
In this phase, the system:
- CipherTrust Manager or pdbctl utility converts column plaintext value to ciphertext. 
- Saves the encrypted values to the - column_NEWcolumn in the base table.
- If the column-level IV is applied, then sets the initialization vectors to the - column_IVcolumn.
After the encrypted data is saved to the base table, the pdbctl utility creates the views and triggers that will automate future encryption and decryption operations. These views and triggers use stored procedures to interact with the CipherTrust Manager behind the scenes to perform cryptographic operations on the base table without explicit instructions from the database user. Authenticated applications outside the database can query and update the tables as before, without any modification.