I am testing encryption in Sql Server using AES_128. When I encrypt the same text (4111111111111111) the encrypted binary data is different each time.
Because the encrypted data is different each time do I need to use an Initialization Vector (IV)? My understanding is that an IV is used to protect against duplicate encrypted text to prevent identifying which values are the same.
Does the block-chaining aspect of AES (CBC, CTR) create these different encrypted values?
Here is an example. These are the results of the same value (4111111111111111) encrypted three times:
0x00AC935A664E3C4D97DD1F4A5E316333010000003D6FAE7E02787F52BC5D08BFE9E728E39DFA6CE4FAE2CDCD29D22BB8BEFF3FE9D9A02E7235558BEB11A41C218601B4DE
0x00AC935A664E3C4D97DD1F4A5E31633301000000EDB2D01D6A4DD46241AA616CF74FC41A148EAE6B42E47F3B902F5A04D0021EC34FBE08D634A4C234540565BFB68CD578
0x00AC935A664E3C4D97DD1F4A5E31633301000000D9671BB79C344B0835BB0DCB2FDD58A9AF05095B5ECE0C27077C7A57242674D92D9E1233B1ED1AAA007655F8D53A3DC8