AES_256 одинаковое значение для шифрования, разные результаты шифрования

#sql-server-2008 #encryption #encryption-symmetric #aes

#sql-server-2008 #шифрование #шифрование-симметричное #aes

Вопрос:

Я только начинаю работать с собственным шифрованием в SQL Server, и я заметил кое-что, на что, я надеюсь, кто-нибудь здесь сможет пролить некоторый свет.

Я использую шифрование AES_256, и при просмотре зашифрованного результата я заметил, что одно и то же значение в разных строках будет иметь разный зашифрованный результат. Вот пример, в котором я зашифровал nvarchar (50) значением xxx, и я получаю следующий зашифрованный результат:

 xxx 0x008C6C289DE9BE42AA47EC9F2022DCC401000000657FCB75FD4C63F63249A0BCA716CB384E79B84E3D862EC41C6A4A491C64658A
  

xxx 0x008C6C289DE9BE42AA47EC9F2022DCC4010000004BE3C369FFD523110CAA3A957FC4A7820F779ADB8882A0A33A53DF480FE797A8
xxx 0x008C6C289DE9BE42AA47EC9F2022DCC40100000002288512DFB126BC6E17320217629365478B48691E62863B9A08E3772EFA7486
xxx 0x008C6C289DE9BE42AA47EC9F2022DCC40100000076223FB6D568E210D6D07AA9BFEDB991D46EF64187F2A31AEF96A5F61FE722A3
xxx 0x008C6C289DE9BE42AA47EC9F2022DCC401000000E90AFB7EBA5B445CCAD9E6CC94966DC66B86557F2CD5E3E1FB68F308FA5F2952

Я искал вокруг, но пока не нашел ответа. Кто-нибудь знает, почему это происходит?

Спасибо.

Ответ №1:

Заполнение через вектор инициализации. Шифрование должно приводить к разным значениям для одного и того же открытого текста, в противном случае оно раскрывает информацию.