数据格式说明（模仿 2025 决赛运维实操第 7 题）
- public_key：04 || x || y，未压缩格式，共 65 字节（130 个十六进制字符）。
- M：原始消息字符串（UTF-8）。
- e：开发者记录的“消息杂凑值”。1~4 号记录的是 SM3(M)；第 5 条记录的是规范的 SM3(ZA || M)，
     ZA 使用默认用户 ID 1234567812345678（GM/T 0009）。
- rs：签名值 = r 和 s 两个 32 字节整数“拼接”，前 64 个十六进制字符是 r，后 64 个是 s。“r+s”不是相加。

已知开发缺陷（题干原文意思）：对 SM2 签名时“直接对数据本身签名而非杂凑值”。
在本包中，这意味着 1~4 号签名真正参与运算的是 e' = int.from_bytes(M.encode('utf-8'), 'big')，
signatures.json 里的 e 字段并没有参与这 4 条签名。第 5 条是按规范流程签的对照样本。
