TLS_RSA_WITH_AES_128_CBC_SHA
などのTLS暗号は、データを 表示 として送信することを知っています。私の理解では、暗号文mustはブロックサイズの倍数である必要があります。この場合は16バイトです。ただし、Wiresharkからの以下の出力を見ると、混乱しています。
暗号化されたアプリケーションデータの先頭からIVに対応する16バイトを引くと、100バイトの暗号文が残ります。これは明らかにnot 16の倍数です。何がわからないのですか?
[〜#〜] edit [〜#〜]:上記のリンクの構造体の構造に基づいて、MACは暗号化の前に平文に追加されたため、暗号文に含まれていました。
TLS_RSA_WITH_AES_128_CBC_SHA
の最後のSHA
は、(とりわけ)すべてのパケットにHMAC-SHA-1タグがあり、データが改ざんされていないことを確認することも意味します。これはSHA-1のダイジェスト長であるため、長さは20バイトです。つまり、116バイトのうち、最後の20バイトがこのタグであり、96 = 6倍の16の純粋な暗号文(AES-CBC)バイトが残り、最初の16バイトはCBCモードに必要なIVであり、最後ですが、ここには実際のアプリケーションデータの約4〜5ブロックがあります。