阅读下列材料,回答问题。
定义1(椭圆曲线与点加法)
设 p 为素数,a,b 为整数且满足 。椭圆曲线 E 是所有满足方程
的点 (x,y) 与一个特殊点 O(称为无穷远点)构成的集合。在 E 上定义加法运算 :
- O 为单位元,即对任意 ,有 ;
- 对 ,其逆元 ;
- 设 且 。若 ,令 ;若 且 ,令 。则 ,其中
定义标量乘法:。
定义2(椭圆曲线密钥交换)
双方公开参数 及基点 。Alice 选取私钥 ,计算公钥 ;Bob 选取私钥 ,计算公钥 。交换公钥后,双方计算共享密钥点 ,并取其 坐标 作为后续对称密钥种子。
定义3(矩阵分组密码)
设 为素数,明文空间为 中的列向量。取对称密钥 ,定义加密矩阵
对明文向量 ,密文 。解密时,若行列式 ,则
其中 为 模 的乘法逆元。解密计算 。
定义4(信息熵与完善保密性)
设离散随机变量 的分布为 ,定义其熵为
规定
条件熵定义为 ,其中 是在条件 下 的熵。若对于明文随机变量 和密文随机变量 满足 ,则称该加密系统具有完善保密性。
结合以上定义,解答下列问题:
(1)取 ,椭圆曲线 ,基点 。
(i) 验证 在曲线 上;
(ii) 若 Alice 选取私钥 ,Bob 选取私钥 ,求 Alice 的公钥 、Bob 的公钥 ,以及双方分别计算出的共享密钥点 的坐标,并提取 。
(2)在矩阵分组密码中,取 ,对称密钥 为上述共享密钥的 坐标模 。已知明文向量 。
(i) 求密文 ;
(ii) 写出解密矩阵 ,并验证 可从 解密还原。
(3)假设攻击者截获密文,并知悉系统参数。从攻击者视角,密钥 等可能取 或 ;明文 等可能取自集合
Missing or unrecognized delimiter for \leftS = \left{ \begin{pmatrix} 0 \ 0 \end{pmatrix}, \begin{pmatrix} 1 \ 0 \end{pmatrix}, \begin{pmatrix} 0 \ 1 \end{pmatrix}, \begin{pmatrix} 1 \ 1 \end{pmatrix} \right},
且 与 相互独立。
(i) 求明文熵 及密文熵 ©;
(ii) 求条件熵 ,并判断该系统是否具有完善保密性;若不具备,请说明其安全风险。