2022_1_21_周汇报

目录

一、进度

(一)形式化定义

实体构成

可信第三方\(T\):负责签发证书,生成系统参数。

通信方\(A\):发起通信的一方。

通信方\(B\):参与通信方。


一)初始化阶段

1、\(T\)随机生成公钥\(Pub_T\)、私钥\(Pri_T\)。生成自签名\(CA\)证书\(Cert_T\)。

2、参与方\(A\)随机生成公钥\(Pub_A\)、私钥\(Pri_A\)。将身份信息和公钥\(Pub_A\)提交给\(T\)。

3、\(T\)根据\(A\)的身份和公钥,生成签名证书\(Cert_A\)并发送给\(A\)。

4、通信方\(B\)重复3-4步,获得自身证书\(Cert_B\)。

5、确定系统安全参数\(l_1\)和\(l_2\)。


二)密钥协商

1、\(A\)选择长度为\(l_1\)的素数\(p\),发送\((p,Sign_A(p),Cert_A)\)给\(B\)。

2、\(B\)收到后,首先使用\(CA\)证书\(Cert_T\)验证\(Cert_A\)有效性,然后使用\(A\)的公钥验证\(Verify_A(Sign_A(p))\)。若验证失败,则中止通信。若验证通过,则选择长度为\(l_2\)的随机数\(g\),选择随机串\(K_1\),计算并发送\((g,E_{Pub_A}(K_1),\)Cert_B\(,Sign_B(g))\)给\(A\)。

3、\(A\)验证\(Cert_B\)的有效性,并验证\(Verify_B(Sign_B(g))\)。若验证失败,则中止通信。若验证通过,则解密\(D_{Pri_A}(E_{Pub_A}(K_1))\)得到\(K_1\),并随机选择\(R_A \leftarrow Z_p^*\),计算并发送\(g^{R_A}(mod\:p)\)给\(B\)。

4、\(B\)随机选择\(R_B \leftarrow Z_p^*\),计算并发送\(g^{R_B}(mod\:p)\)给\(A\);\(A\)和\(B\)计算\(K=sm3(K_1,K_2=g^{R_AR_B}(mod\:p),Cert_A,Cert_B)\)。

形式化展示

密钥协商协议步骤
已有$Cert_A、Cert_B$和公私钥$Pub_A、Pri_A、Pub_B、Pri_B$

步骤1
$A$选择长度为$l_1$的素数$p$,发送$(p,Sign_A(p),Cert_A)$给$B$
$A$选择长度为$l_1$的素数$p$,计算$Sign_A(p)$,将$(p,Sign_A(p),Cert_A)$打包 $B$接受包
步骤2
$B$收到后,首先使用$CA$证书$Cert_T$验证$Cert_A$有效性,然后使用$A$的公钥验证$Verify_A(Sign_A(p))$。若验证失败,则中止通信。若验证通过,则选择长度为$l_2$的随机数$g$,选择随机串$K_1$,计算并发送$(g,E_{Pub_A}(K_1),Cert_B,Sign_B(g))$给$A$
$A$接受包 $B$验证$Cert_A$有效性,
计算验证$Verify_A(Sign_A(p))$。
若验证失败,则中止通信。
若验证通过,则选择长度为$l_2$的随机数$g$,
选择随机串$K_1$,计算$E_{Pub_A}(K_1)$,
计算$Sign_B(g)$,
将$(g,E_{Pub_A}(K_1),Cert_B,Sign_B(g))$打包
步骤3
$A$验证$Cert_B$的有效性,并验证$Verify_B(Sign_B(g))$。若验证失败,则中止通信。若验证通过,则解密$D_{Pri_A}(E_{Pub_A}(K_1))$得到$K_1$,并随机选择$R_A \leftarrow Z_p^*$,计算并发送$g^{R_A}(mod\:p)$给$B$
$A$验证$Cert_B$的有效性,
计算验证$Verify_B(Sign_B(g))$。
若验证失败,则中止通信。
若验证通过,则计算$D_{Pri_A}(E_{Pub_A}(K_1))$解密得到$K_1$,随机选择$R_A \leftarrow Z_p^*$,
计算$g^{R_A}(mod\:p)$,将$g^{R_A}(mod\:p)$打包
$B$接受包
步骤4
$B$随机选择$R_B \leftarrow Z_p^*$,计算并发送$g^{R_B}(mod\:p)$给$A$;
$A$和$B$计算$K=sm3(K_1,K_2=g^{R_AR_B}(mod\:p),Cert_A,Cert_B)$
$A$接受包后计算$K_2=g^{R_AR_B}(mod\:p)$,
继而计算$K=sm3(K_1,K_2,Cert_A,Cert_B)$
$B$随机选择$R_B \leftarrow Z_p^*$,计算$g^{R_B}(mod\:p)$,将$g^{R_B}(mod\:p)$打包发送。
计算$K_2=g^{R_AR_B}(mod\:p)$,继而计算
$K=sm3(K_1,K_2,Cert_A,Cert_B)$

二、遇到的问题及解决

1.Markdown里的公式编辑LaTex

在博客园使用LaTeX数学公式
在博客中使用LaTeX插入数学公式
Markdown数学公式语法
[转] Markdown 中的常用 LaTex 数学公式

三、下周计划

上一篇:227. 基本计算器 II(不考虑括号)


下一篇:Docker 基础技术之 Linux Cgroup 详解