暗号化にAESを使用し、データの整合性をチェックするためにCRCを使用していますが、私の場合、CRCチェックは冗長であるという印象があります。私は次のことをしています:
暗号化:
- ペイロードデータを取得し、そこからCRCを計算します
- ペイロードデータとCRCを暗号化する
復号化:
- データを復号化する
- ペイロードデータの新しいCRCを計算し、古いCRCと比較します
単体テストでCRCチェックの失敗を引き起こしたかったのですが、ペイロードデータを操作すると、復号化によって常にBadPaddingExceptionがスローされます。
私の質問は、データが破損または操作されたときに復号化が常にこの例外をスローする場合(そうなるでしょうか?)、CRCチェックは私が使用している方法で冗長ではありませんか?