Блочное или потоковое шифрование?
Я хочу знать, зашифрованы ли данные, хранящиеся в зашифрованном виде, блочным шифром или потоковым шифром?
У меня есть зашифрованные данные. Как проверить, что они получены из блочного или потокового шифра?
1 ответ
С помощью только зашифрованных данных невозможно точно сказать, но хорошим показателем является проверка длины данных.
Все распространенные современные блочные шифры (AES, Blowfish, DES, Serpent, Twofish) имеют размеры блоков 64 или 128 бит (8 и 16 байтов соответственно). Таким образом, если длина зашифрованных данных в байтах кратна 8, это, скорее всего, блочный шифр (вероятность ошибки 1: 8). если он не кратен 8, вы можете быть уверены, что это не блочный шифр в общих блочных режимах (самое большее, это блочный шифр, пытающийся эмулировать потоковый шифр, например, в режиме CFB).
Не забудьте исключить любые потенциальные заголовки файлов / потоков, IV и т. Д. Конечно, если у вас есть заголовок, вы можете сначала проверить его, чтобы определить, какой шифр он использует...