このトピックについて調査しましたが、私の質問に似たものは見つかりませんでした。ですから、皆さんの何人かが私を助けてくれることを願っています。
2つの個別のクライアント間のアプリケーションのネットワークにAES128暗号化(CFBモード)を使用したいと思います。交換されるデータは、特定の構造のテキスト文字列のみで構成されます。たとえば、最初のバイトは常に受信者に受信するメッセージの種類を通知するため、受信者はそれらを処理できます。AESを使用してメッセージの機密性を確保したいのですが、今度は「整合性」の問題が発生します。
通常、MACの使用を検討します。しかし、受信者がメッセージを正しく復号化できる場合、つまり、文字列の形式が原因でメッセージをアプリケーションで正しく使用できる場合、誰もメッセージを変更していないことが保証されませんか?暗号化されたメッセージをサードパーティによって(1ビットでも)変更すると、復号化中にガベージが発生しませんか?
さらに、アプリケーションがマルチパーティのピアツーピアゲームであり、2人のプレーヤーがプライベートであるがAESで暗号化されたチャネルで相互に通信していると仮定します。現在、メッセージの発信者は公平にプレイしておらず、メッセージがランダムなサードパーティによって変更されたという印象を伝えるために(プレーヤーを強制的に終了させるために)不正な暗号化メッセージを意図的に送信しています。これで、受信者はメッセージが変更されたかどうか、または送信者が不正行為をしたかどうかを判断する機会がなくなります。それで、誠実さはそのような状況ではあまり役に立たず、無視される可能性がありますか?
これは奇妙で世界外の例のように聞こえるかもしれません。しかし、これは私が最近同様のアプリケーションで遭遇したものであり、問題の解決策があるかどうか、またはAES暗号化の基本的なアイデアを得たかどうかを自問しています。