Я использую AES для шифрования и CRC для проверки целостности данных, и у меня сложилось впечатление, что проверка CRC в моем случае избыточна. Я делаю следующее:
Шифрование:
- Возьмите данные полезной нагрузки и рассчитайте из них CRC
- Шифровать данные полезной нагрузки плюс CRC
Расшифровка:
- Расшифровать данные
- Рассчитайте новый CRC данных полезной нагрузки и сравните его со старым CRC
Я хотел спровоцировать сбой проверки CRC в своем модульном тесте, но когда я манипулирую данными полезной нагрузки, расшифровка всегда вызывает исключение BadPaddingException.
Мой вопрос: если расшифровка всегда выдает это исключение, когда данные повреждены или манипулируются (будет ли это?), не является ли проверка CRC избыточной, как я ее использую?