理论教育 网络信息安全技术实验:签名机制实现

网络信息安全技术实验:签名机制实现

时间:2023-10-31 理论教育 版权反馈
【摘要】:DSS 算法的签名过程。2) 实验步骤第1 步, 选用DSA 和RSA 签名方案。第4 步, 利用私钥对明文签名, 显示签名密文。

网络信息安全技术实验:签名机制实现

1. 实验背景

现要对一段信息进行数字签名, 以保证发送方不能抵赖, 甚至要求保证接收方对接收的信息也不能否认。

2. 实验目的

(1) 掌握直接数字签名的基本原理。

(2) 编程实现数字签名方案。

(3) 综合利用数字签名方案, 保证通信双方都不能否认。

3. 实验原理

1) RSA 数字签名方案

签名算法: 对于消息m∈Zn, 签名为S=sig(m) =md mod n。

验证算法: 验证者计算m′=Se mod n, 并判断m′和m 是否相等。

2) DSS 数字签名方案

(1) DSS 算法说明——算法参数。

全局公开密钥分量:

①p: 素数, 其中2L-1 <p <2L, 512≤L <1024, 且L 为64 的倍数, 即位长度为512 ~1024, 长度增量为64 位。

②q: (p-1) 的素因子, 其中2159 <q <2160

③g=h(p-1)/q mod p, 其中h 是整数, 1 <h <p-1。

用户私有密钥x: 随机或伪随机整数, 0 <x <q。

用户公开密钥(y,g,p): y=gxmod p。

(2) DSS 算法的签名过程。

用户每个报文的密钥k 为随机(或伪随机) 整数, 0 <k <q。

签名:

式中, M 为要签名的消息; H(M) 为使用SHA-1 生成的M 的散列码; M′、 r′、 s′分别为接收到的M、 r、 s 版本。

发送签名(r,s)和消息。(www.daowen.com)

(3) DSS 算法的验证过程。

验证:

如果v=r′, 则签名是有效的。

4. 实验内容和步骤

1) 实验内容

①输入明文: computer college。

②输入随机数K。

③输出签名后的密文。

④验证密文。

⑤显示验证结果。

【扩展】

综合利用签名方案, 使得对签名的信息通信双方都不能否认。

2) 实验步骤

第1 步, 选用DSA 和RSA 签名方案。

第2 步, 提前设置公钥和私钥。

第3 步, 用户输入明文。

第4 步, 利用私钥对明文签名, 显示签名密文。

第5 步, 利用公钥对密文验证, 查看验证结果。

第6 步, 给出验证结论(验证通过或验证不能通过)。

5. 思考题

(1) RSA 算法的签名和加密过程有什么区别?

(2) DSA 算法的签名和验证过程中有哪些计算难点? 如何解决?

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈