Режим AES-CTR (потоковое шифрование) 1-битное изменение в незашифрованном тексте 1-битное изменение в зашифрованном тексте? - PullRequest
3 голосов
/ 26 ноября 2010

Из того, что я понимаю, в потоковом шифре (или режиме AES CTR) ключ фактически шифруется с использованием IV (или вообще, из ключа K мы производим псевдослучайные байты).Затем мы используем этот ключ для шифрования открытого текста с использованием XOR.

Но, насколько я понимаю, предполагая, что используется тот же ключ K, изменение одного бита в открытом тексте изменяет только 1 бит зашифрованного текста.

Прав ли я или я все правильно понял?

И если я прав, разве это не менее безопасно, чем CBC?(Поскольку в CBC изменение одного бита в открытом тексте изменяет все биты в зашифрованном тексте с момента включения и включения)

Спасибо !!!

Ответы [ 4 ]

4 голосов
/ 26 ноября 2010

Вы правы, поэтому существуют режимы, включающие как режим CTR, так и аутентификацию данных, обычно называемые режимами AEAD , например CCM и GCM режимов.

3 голосов
/ 27 ноября 2010

Это точно , поэтому вы должны никогда повторять часть потока ключей при использовании режима CTR, так же как с потоковым шифром.Счетчик, используемый на стороне шифрования, должен двигаться только до тех пор, пока ключ не будет изменен.

3 голосов
/ 26 ноября 2010

Очевидно, что режим CTR нарушает принцип диффузии Шеннона , поскольку изменение бита в открытом тексте только немного изменяет выходной сигнал. Однако это только часть истории. На самом деле, вы также должны изменить IV для каждого сообщения. Поэтому в следующем сообщении будет изменено много битов, даже если вы измените только один бит в текстовом формате или даже если сообщение останется прежним.

С другой стороны, если вы обеспокоены вредоносной модификацией сообщений, ни CTR, ни CBC не застрахованы от этих атак, и, как сказал @GregS, вам следует использовать режимы аутентифицированного шифрования, такие как CCM, GCM или EAX .

1 голос
/ 26 ноября 2010

Да, вы правы.За исключением того, что ключ не шифруется, а IV (счетчик) шифруется с помощью ключа.Этот подход обеспечивает произвольный доступ к зашифрованному потоку (поскольку счетчик известен для каждой части данных).

...