Некоторые основные отличия между шифрами AES-128-GCM и AES-128-CBC:
- Аутентификация. 1 AES-GCM обеспечивает конфиденциальность, целостность и аутентификацию за одну операцию. 1 AES-CBC предоставляет только конфиденциальность, у него нет встроенных механизмов аутентификации. 1
- Требования к ключу. 4 Для AES-GCM достаточно 128-битного ключа, в то время как для AES-CBC обычно требуется 256-битный ключ. 4
- Производительность. 34 AES-CBC работает медленнее, так как шифрование происходит последовательно. 3 AES-GCM быстрее, так как процесс можно распараллелить. 34
- Уязвимость к атакам. 4 AES-CBC уязвим к атакам, которые используют тенденцию блочных шифров добавлять произвольные значения в конец последнего блока в последовательности, чтобы соответствовать указанному размеру блока. 4 AES-GCM устойчив к таким атакам. 3
- Требования к вектору инициализации (IV). 1 Для AES-GCM требуется 12-байтный вектор, для AES-CBC — 16-байтный. 1
AES-GCM рекомендуется для современных приложений, в том числе для протоколов безопасной связи, таких как TLS и IPsec. 1 AES-CBC подходит для шифрования данных в покое и устаревших систем, но не имеет встроенных механизмов аутентификации. 1