QUIC の Initial Packet のヘッダ保護解除とペイロード復号を Python で実装して復号してみます。 はじめに QUICパケットは暗号化通信をする際に (1) パケットのペイロードを暗号化して (2) パケットのヘッダーを暗号化します。 ここでは説明のために、前者を「暗号化」、後者を「ヘッダー保護」と呼ぶことにしています。 QUICパケットの復号は、ヘッダ保護を解除してからペイロードを復号します。 本記事では RFC 9000, RFC 9001 の仕様を元に、Initial Packetのヘッダ保護解除とペイロード復号をPythonで実装していきます。 1. Client Initial Packet を解析する Initial Packet は通常UDPで受信しますが、今回はすでにバイト列を受信したとして、その後の解析に注目していきます。 解析対象は RFC 900