ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022_1_21_周汇报

2022-01-18 20:01:30  阅读:181  来源: 互联网

标签:21 验证 Cert Pub Sign 汇报 计算 2022 mod


目录

一、进度

(一)形式化定义

实体构成

可信第三方\(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 数学公式

三、下周计划

标签:21,验证,Cert,Pub,Sign,汇报,计算,2022,mod
来源: https://www.cnblogs.com/tanjie200/p/15814863.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有