当前位置:首页 期刊杂志

基于椭圆曲线的签名方案

时间:2024-05-04

王方鑫

摘要:在当今信息化高速发展的时代里,信息的传递和交互越来越成为人们生活中的一部分。如何保证信息源的真实性,以及如何辨别信息是否经过他人恶意的篡改或伪造成为一个热点话题。该文介绍一个基于椭圆曲线密码体制在数学签名的一个实现方案ECDSA,具体介绍该算法的实现以及应用发展。

关键词:数字签名;椭圆曲线密码体制;非对称密码体制

中图分类号:TP393        文献标识码:A        文章编号:1009-3044(2019)01-0053-01

伴随电子商务的日益发展,人们的生活越来越离不开电子信息的交互和传输,当前电子商务领域广泛的使用RSA签名算法来保证消息的真实性以及来源的真实性,但是随着ECDSA技术的日益完善,以及ECDSA相较RSA签名算法的优势,电子商务领域对ECDSA的使用也越来越多。

1 研究背景

椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线密码(ECC)对数字签名算法(DSA)的模拟,在2000年,ECDSA成为IEEE和NIST标准。目前,ECDSA算法已经成为一种国际通用的标准算法,广泛地应用于电子移动硬件中。

2 数字签名的流程

将信息的发送者记为A,将信息的接受者记为B。一般来说,数字签名的流程为:

消息的发送者A将消息通过hash函数生成消息摘要,然后通过不同的签名算法,将签名和消息分别发给消息的接受者B。

消息的接收者B将消息通过hash函数生成消息摘要,然后通过签名验证算法把A发送的签名进行验证。如果验证相等那么签名有效,否则无效。图1给出了数字签名的一般流程。

3 椭圆曲线数字签名技术的实现

本文介绍的是基于椭圆曲线密码体制在数学签名的一个实现方案ECDSA,这个签名方案实现的流程类似于RSA数字签名方案。

第一步,执行密钥生成算法,生成ECDSA算法的公私钥。

第二步,执行签名算法,用第一步生成的私钥进行签名。

第三步,执行验证算法,用公钥验证私钥签名。

第四步,对比得到签名是否有效。

3.1 密钥生成算法

这里介绍ECDSA签名算法中的密钥生成算法,KeyPairGenerator 类用于生成公钥和私钥对。我们可以使用指定ECDSA签名算法中生成密钥KeyPairGenerator.getInstance("EC");其中ECPublicKe是ECDSA公钥密钥的接口,ECPrivateKey是专用密钥的接口。

3.2 签名算法

这里介绍ECDSA签名算法中的签名算法,PKCS8EncodedKeySpec类继承EncodedKeySpec类,以编码格式来表示私钥。Signature 类用来为应用程序提供数字签名算法功能。数字签名用于确保数字数据的验证和完整性。

3.3 验证算法

这里介绍ECDSA签名算法的验证算法,用公钥来验证生成的私钥签名是否有效。

4 总结

目前应用最为广泛的RSA签名算法仍存在很多不足之处,比如说RSA数字签名算法的分组太长,速度太慢,以及RSA签名算法产生大素数十分的麻烦。相比之下ECSDA有很明显的优势,它可以在更短的密钥长度的情况下实现更高的安全强度,因此,ECDSA有非常好的应用前景,尤其是在目前日益火爆的电子商务领域,值得继续深入研究。

参考文献:

[1] 张艳丽,刘嘉勇.基于ECC数字签名系统的设计与实现[J].信息安全与通信保密,2011(05):86-87+90.

[2] 任艳芳.基于椭圆曲线密码(ECC)的数字签名技术[J].硅谷,2013,6(12):51-53.

[3] 韩松,马飞,李沛.ECDSA在电子商务中的应用[J].网络安全技術与应用,2012(07):18-20.

[4] 索望.一次性口令身份认证方案的设计与实现[D].四川大学,2005.

[5] 谷利泽,郑世慧,杨义先.现代密码学教程[M].北京邮电大学出版社,2009.

[6] 孙淑玲.应用密码学[M].北京:清华大学出版社,2004.

[7] 杨晓元.现代密码学[M].西安:西安电子科技大学出版社,2009.

[8] 杨波.现代密码学[M].2版.北京:清华大学出版社,2007.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!