基于椭圆曲线的数字签名和代理数字签名

基于椭圆曲线的数字签名和代理数字签名
基于椭圆曲线的数字签名和代理数字签名

—147—

基于椭圆曲线的数字签名和代理数字签名

杨 青,辛小龙,戢 伟

(西北大学数学系,西安 710069)

摘 要:提出一种改进的基于椭圆曲线的数字签名方案,对其安全性和复杂度进行了分析。该方案能够有效抵抗生日攻击,提高数字签名的安全性。给出椭圆曲线代理数字签名方案及其安全性分析。数字签名方案和代理签名方案都具有消息自动恢复的特性,且具有运算量低、易于实现的功能。通过实例验证了2种方案。

关键词:数字签名;代理数字签名;椭圆曲线;离散对数问题

Digital Signature and Proxy Digital Signature Based on

Elliptic Curve

YANG Qing, XIN Xiao-long, JI Wei

(Dept. of Mathematics, Northwest University, Xi’an 710069)

【Abstract 】This paper presents an improved digital signature scheme based on elliptic curve. The security and complexity of digital signature is analyzed. This proposed scheme not only can efficiently resist birthday attack, but also can improve the security of digital signature. In addition,proxy digital signature scheme with its security analysis is proposed. The two message recovery schemes may easily realize with low computation.The paper examines the two schemes by means of examples.

【Key words 】digital signature; proxy digital signature; elliptic curve; discrete logarithm problem

计 算 机 工 程Computer Engineering 第34卷 第23期

Vol.34 No.23 2008年12月

December 2008

·安全技术·

文章编号:1000—3428(2008)23—0147—03

文献标识码:A

中图分类号:TP309

1 概述

20世纪80年代中期,Miller [1]和Koblitz [2]将椭圆曲线引进了密码学中,人们对其做了大量的研究之后,建立了椭圆曲线公钥密码体制。它是一种基于椭圆曲线离散对数问题的公钥密码,并且具有很好的安全性。数字签名是认证的主要手段之一,也是现代密码学的主要研究问题之一。数字签名是日常生活中手写签名的电子对应物,它的主要功能是实现用户对电子形式存放消息的认证。数字签名的安全性可依赖于对离散对数的计算难度、素因子分解和二次剩余问题等的难解性[3]。手写签名的这种权力不能转让,而数字签名的权力可以转让,从而产生了代理数字签名。

代理数字签名方案能够使原始数字签名方案中的私钥拥有者(称为原始签名人),将签名的权力委托给一个被称为代理签名的人,同时又不暴露自己的私钥。代理签名人利用原始签名人给他的委托信息,能够完成对任何消息的签名。一个代理签名方案至少包括4个过程:初始化过程,委托过程,代理签名的生成过程和代理签名的验证过程。文献[1]给出了各种基于离散对数问题和基于素因子分解问题的多种数字签名方案和代理数字签名方案。

数字签名和代理数字签名的内容十分丰富,文献[4]给出了基于椭圆曲线和混沌映射的数字签名算法,它是一种不具有消息自动恢复特性的算法。文献[5]提出了基于椭圆曲线离散对数问题的数字签名和代理数字签名。文献[6-7]提出了认证加密方案的各种数字签名。文献[8]提出了高效的签名加密方案,具有消息可恢复特性。本文提出了一种改进的基于椭圆曲线的数字签名方案和代理数字签名方案,并且具有消息自动恢复特性,无须传送原始消息。

2 椭圆曲线数字签名

椭圆曲线E 是在有限域Fq 上,由方程E : 23y x ax =++

(mod )b q 所定义的,其中,a , b ∈Fq ,且324270(mod )a b q +≠;

用u 表示E 中元素的个数;n 是u 的一个大素因子。从式Q =dG ,已知Q ,G ∈E 求d 的问题是典型的椭圆曲线离散对数问题,目前此问题是一种比较难解的问题。本文中的签名方案就是基于此问题的难解性,在方案的安全性分析中给予详细说明。本文中关于椭圆曲线的基本概念和定义及运算与文献[4, 9]相同。

2.1 椭圆曲线数字签名方案

椭圆曲线参数定义如下:

q :大素数,1602q >; E :有限域Fq 上的椭圆曲线:

23(mod )y x ax b q =++;

a ,

b :a , b 是2个小于q 的整数,且满足

324270(mod )a b q +≠;

G :椭圆曲线E 上的基点,阶为n ,即nG =O ; O :椭圆曲线无穷远点; h :单向散列函数。 (1)初始化过程

用户A 的秘钥和公钥分别为:K A , P A =K A G 。 用户B 的秘钥和公钥分别为:K B , P B =K B G 。

基金项目:陕西省自然科学基金资助项目(2007A19)

作者简介:杨 青(1982-),女,硕士研究生,主研方向:密码学;辛小龙,教授、博士生导师;戢 伟,硕士研究生

收稿日期:2008-02-20 E-mail :45347981yq@https://www.360docs.net/doc/118590391.html,

—148

—(2)签名的产生过程

1)A 选择随机整数n

K Z ?∈,其中,K 称为消息秘钥;*n

Z 表示模n 同余类的非零元。

2)A 计算1()()(mod )B R KP x y r h x m n ?===,,,若r =0,则返回1)。

3)计算(mod )A s K rK n =+,若s =0,则返回1)。 4)消息m 的签名是(r , s )。 (3)消息恢复和验证过程

B 接收到签名(r ,s ),首先下载域参数及A 的公钥,然后作如下运算:

1)检验r ,s 是否在区间[1,n -1]上,

若否,则B 拒绝此签名。 2)计算''(,)A X sG rP x y =?=和'()(mod )B m h K x r n =为消息恢复方程。

3)若X =0,则B 拒绝接受签名,否则B 计算原始消息m ,并检验消息末尾能够确认身份的冗余位,若正确,则接受签名,否则拒绝签名。

给消息末尾加冗余位有多种方式。例如将参与者的身份认证或另外一些被通信双方所指定的字符串,由于B 的私钥是秘密的,因此任何人都不能恢复消息并判断发消息之人是谁。只有B 能够计算出原始消息且知道与他通信的人是谁。 2.2 椭圆曲线数字签名方案的改进

在上述方案中,2次选中相同的K 的概率是多少呢?先给出生日问题的计算公式:在m 个人中,至少2个人的生日

是同一天的概率为365

1/365m

m p P =?。由生日问题类似可计算出2次选中同一个消息秘钥K 的概率为

11/(1)t t n p P n ?=??

其中,t 表示签名的次数,要使p 大于0.5,则t

来破解A 的私钥K A ,假设2次签名选相同的K ,

11(mod )A s K r K n =+,22(mod )A s K r K n =+,则112()A K r s s ?=?。

改进的方案使用2个随机数,减少了2次签名选用相同的随

机数,从而增加生日攻击的难度。具体算法如下:

(1)初始化过程

用户A 的私钥:K A 1 , K A 2,其中,*

1212,,A A n A A K K Z K K ∈≠。

用户A 的公钥:11A A P K G =, 22A A P K G =。

用户B 的私钥:*B n K Z ∈,*n Z 表示模n 同余类的非零元。

用户B 的公钥:B B P K G =。 (2)签名的产生过程

1)A 选择随机数12n

K K Z ?

∈,,其中,K 1, K 2称为消息密钥; 2)A 计算12()()B R K K P x y =+=,, 1()(mod )r h x m n ?=,若r =0,则返回1);

3)A 再计算111(mod ),A s K rK n =+ 222(mod )A s K rK n =+, 若s 1=0,或s 2=0,则返回1);

4)A 对消息m 的签名是 (r ,s 1,s 2)。 (3)消息恢复和验证过程

B 收到签名(r ,s 1,s 2),先下载域参数及A 的公钥,作如下运算:

1)检验r ,s 1,s 2是否在区间[1,n -1]上,

若否,则B 拒绝签名; 2)B 计算

''1212(,)A A X s G s G rP rP x y =+??=, '()(mod )B m h K x r n =,

其中,'B K x 表示B K X 的横坐标。

3)若X =0,则B 拒绝接受签名,否则B 计算原始消息m ,

并检验消息末尾能够确认身份的冗余位,若正确,则B 接受签名,否则拒绝签名。

这个签名体制的正确性可以通过以下等式证明: 1212()()B B R K K P K K K G =+=+=

121212()()B B A A K K K G K s G s G rP rP +=+??''(,)B K x y = '()(mod )B m h K x r n =

1212112212()A A A A A A X s G s G rP rP K G rK G K G rK G r K K G =+??=++

+?+=

''1212()(,)K G K G K K G x y +=+=

2.3 改进的数字签名方案的安全性与复杂度分析

(1)对改进的数字签名方案的攻击依赖于在Fq 上求解方程dG =Q (mod q )或log (mod )G d Q q =。ECDLP 比有限域上的DLP 更难求解,在Fq 上选取一条椭圆曲线E ,及一个高阶基点G ∈E (Fq ),计算dG 相对较容易,但已知Q 和dG ,求d 则很困难。基于椭圆曲线密码的安全性最终归结为解ECDLP 问题。对于一般的ECDLP ,目前有2种较好的求解法:Pohlig-Hellman 方法和Pollard-ρ方法。但对2类特殊的椭圆曲线,已经有了其他有效的求解方法。一类特殊的椭圆曲线——超奇异椭圆曲线,采用概率亚指数算法——Mov 算法和FR 算法可以解决ECDLP 。另一类是异常(anomalous)椭圆曲线,SSSA 算法可以解决ECDLP 。

(2)改进的数字签名方案的主要思想是签名人的私钥有

2个整数(即2个私钥),

并且签名的过程中使用2个随机数(即2个消息秘钥),这样减少了2次签名选用相同随机数的概率,从而增加了生日攻击的难度。如果签名t 次,则K 1, K 2同时出现的概率为21[1/(1)]t t n p P n ?=??,所以,要使概率p 大于0.5,t 要大约等于n -1,而n 是一个很大的素数,此情况几乎不可能出现。若K 1=K 2,则可得到11212()A A K K r s s ??=?,即

知签名者A 的2个私钥之差,

由于*

12,A A n K K Z ∈,破解K A 1, K A 2的概率为:21/(1)p n =?,n 是一个非常大的素数;p 也会非常小。若攻击者截获一则消息(r , s 1)或(r , s 2),则他也不能冒

充A 对消息m 进行签名。

(3)若攻击者想冒充A 对消息m 产生签名,攻击者随机选取K 1,K 2,计算12()(,),B R R R K K P x y =+=1()(mod ),R r h x m n ?=

111222,A A s K rK s K rK =+=+,解决s 1, s 2的方法归结为求K A 1,

K A 2,即解决ECDLP 。因此,攻击者不能冒充A 产生签名(r , s 1, s 2)。

(4)改进的数字签名方案的思想是密钥为2个整数,

所以,新方案和原方案在签名产生过程中有关椭圆曲线的计算量是完全相同的,只是在签名过程中比原签名多出一个模运算,和椭圆曲线运算相比,大整数模运算所需计算量可以忽略不计。验证过程中所需要的计算量与原方案所需计算量比较多了一个椭圆曲线倍点运算。

3 改进的椭圆曲线代理数字签名

因篇幅有限,原椭圆曲线代理数字签名方案不再赘述。 3.1 改进的椭圆曲线代理数字签名方案

以下介绍改进后的代理数字签名方案,椭圆曲线参数定义如同2.1节。

(1)初始化过程

综上所述,E 是定义在有限域Fq 上的一条椭圆曲线,G ∈E 是阶为n 的一个基点,有nG =O ,其中,E ,n ,G 是公开参数。假定A 是原始签名人,B 是代理签名人,C 是代理签名的验证人。A 的私钥用K A 1, K A 2表示,公钥用P A 1,P A 2;C 的私钥用K C 表示,公钥用P C 表示。其中,1122;;A A A A P K G P K G ==

—149—

12;,,C C A A C P K G P P P E =∈。

(2)委托过程

原始签名人A 将其签名的权力委托给代理签名人B ,同时又不暴露K A 1, K A 2, A 计算12A A A K K K =+,再选取随机数K 0,并计算K 0G ,记0000(,)Q K G x y ==,其中,x 0, y 0∈Fq ,然后计算:00(mod )r x n =和00()(mod )A K r K n σ=+,A 将σ秘密发送给B ,将Q 0可以公开的发送给B ,则0(,)Q σ为A 将其签名权力委托给B 的信息。

代理签名人B 收到一组委托信息0(,)Q σ后,验证下式:00A G P r Q σ=+,其中,G , Q 0, P A 是公开的,而r 0可由Q 0计

算得到Q 0=(x 0,y 0),则r 0=x 0 (mod n )。如果此式成立,则B 接受委托信息(σ,Q 0);若不成立,则B 拒绝接受委托信息(σ,Q 0)。

(3)代理签名的生成过程

1)B 选取随机整数K , K n

Z ?

∈; 2)B 计算(,)C R KP x y ==,1()(mod )r h x m n ?=,若r =0,则返回1);

3)计算(mod )s K r n σ=+,若s =0,则返回1);

4)(r , s , Q 0)是B 对消息m 的签名。 (4)代理签名的验证过程

验证人C 收到代理签名(r , s , Q 0)后,首先获取B 的公钥Q 0再进行如下运算:

1)验证r , s 是否在区间[1,n -1]上,若否,则拒绝接受签名;

2)计算''00()(,)A X sG r P Q r x y =?+=和'()(mod )C m h K x r n =,其中,'C K x 是C K X 的横坐标;

3)若X =0则C 拒绝接受签名,否则C 计算原始消息m ,

并检验其冗余位,若正确则接受签名;否则拒绝签名。

验证过程的正确性证明如下: (mod )s K r n σ=+

''00[()](,)C C C A C R KP K KG K sG r P r Q K x y ===?+= '()(mod )C m h K x r n =

3.2 改进的代理数字签名方案的安全性分析

(1)代理签名人B 不能从委托信息(σ,Q 0)中获取原始签名人A 的私钥K A 1, K A 2。由于00Q K G =, 00()A K r K σ=+=

120000()(mod ),(mod )A A K K r K n r x n ++=,计算K 0是一个典型的

椭圆曲线离散对数问题,此问题是很困难的,因此B 不能根据1200()(mod )A A K K r K n σ=++中获得K A 1, K A 2。

(2)消息秘钥K 不能重复使用,

否则B 的私钥σ可能被发现。例如,用同一个K 在不同消息m 1, m 2中对应的2个签名(r 1,s 1,Q 0)和(r 2,s 2,Q 0)。

因为11(mod )s K r n σ=+,22(mod )s K r n σ=+, 12s s ?=

12()(mod )r r n σ?,所以若12,r r σ≠,则可被计算出112()r r σ?=? 12()(mod )s s n ?。

(3)代理签名的伪造者E 不能冒充B 而产生对消息m 的代理签名,从而欺骗验证人C 。

(4)代理签名人B 不能利用原始签名人A 的委托信息产生新的委托信息。

4 Matlab 实例分析

例1 若A 想签署消息m =1234(假定前3位表示消息后一位表示身份字符串即消息冗余位),A 先选定椭圆曲线方程

23345(mod8831)y x x =++,如图1所示,基点G =(4,11),其

阶n =4 427。

-10-8-6-4-2

02

4

6

810

-20

-15

-10-505101520X

Y

图1 椭圆曲线

4.1 数字签名方案

根据已知条件进行数字签名如下:

(1)初始化

A 的私钥:12117,223A A K K ==

A 的公钥:1122(1519,6886)(1233,6155)A A A A P K G P K G ====,

B 的私钥:221B K =

B 的公钥:(3829,4859)B B P K G == (2)签名的产生过程

1)A 选择随机数:12115,321K K ==, '12()R K K G =+= 436436(4,11)(459,7517);G ==

2)A 计算:12()436221(4,11)(974,7560),B R K K P =+=×=

11()(mod 4427)(974)12341383;r h x m h ??===

3)A 再计算:111(mod 4427)2554,A s K rK =+=

222(mod 4427)3267;A s K rK =+=

4)A 对消息m 的签名是:(1383,2554,3267)。

(3)消息恢复和验证过程

B 接受到签名(1383, 2554, 3267),首先下载域参数及A 的公钥,然后作如下运算:

1)检验1383, 2554, 3267 是在区间[1, 4426]上;

2)B 计算''1212(,)(459,7517)A A X s G s G rP rP x y =+??==,

'()(mod 4427)1234B m h K x r ==,其中,'B K x 表示B K X 的横坐标;

3)B 计算原始消息m =1234,检验消息m 的冗余位4,结

果正确,所以,B 接受签名。 4.2 代理数字签名方案

椭圆曲线方程参数及基点均如4.1节 (1)初始化过程

A 的私钥K A 1=117, K A 2=223, A 的公钥:

1122(1519,6886)(1233,6155)A A A A P K G P K G ====,, 12(1519,6886)(1233,6155)(4160,5477)

A A A A P P P K G =+=+== C 的私钥:211C K =,C 的公钥(2208,6020)C C P K G ==。

(2)委托过程

A 选取随机数K 0=119,计算:12340A A A K K K =+=, 0Q =

0(2322,6135)K G =;再计算r 0=2322, 00()(mod4427)A K r K ρ≡+= 3402322119(mod 4427)2184+×=,所以,(2184, (2322, 6135))

为A 将其签名权力委托给B 的信息。

B 收到一组委托信息(2184, (2322, 6135))后,验证下式: 002184(4,11)(3231,2968),(4160,5477)(1131,4245) (3231,2968)

A G P r Q σ==+=

+=

因为00G A P r Q σ=+,所以B 接受委托信息(2184, (2322, 6135))。

(3)代理签名的生成过程

(下转第198页)

—198

—该子集是否在L k -1中,需要进行的计算为111

()j

k N C k j i L ?==∑∑次。

En-Apriori 算法通过事务矩阵D (D 是p ×n 阶矩阵,p 是事务计数,n 是项目数目),即O (p )的时间复杂度就可以完成候选频繁项集C ’k 的生成和L ’k 的生成。而Apriori 算法还需要扫描数据库,判断候选项集是否是频繁项集,这一操作的复杂度是O (p ),再加上111()j

k N C k j i L ?==∑∑次的计算次数,时间效率将比

En-Apriori 算法低得多。

4 实验比较分析

实验环境:P4 2.93 GMHz ,512 MB 内存,WindowsXP+

VS2003,

实验的数据集采用https://www.360docs.net/doc/118590391.html,/pub/ma~hine- learning-databases/mushroom/和https://www.360docs.net/doc/118590391.html,.hk/- kdd/data/IBM-VC++.zip 提供的蘑菇数据库(mushroom database)。该数据库有8 124条记录,记录了蘑菇的帽子形状、帽子颜色、颈的形状、颈的颜色、气味、生存环境、是否有毒等23种属性,每种属性有2~12个枚举值。而其中的属性stalk-root 有2 480个样本缺省,另外veil-type 属性有2个枚举值partial 和universal 。

实验分别采用采用Apriori 算法和En-Apriori 算法对蘑菇数据库进行试验。实验前首先对原始数据进行预处理,并利用二进制数据(0和1)表示交易中某个项出现与否。(因Apriori 算法和En-Apriori 算法只处理单维、单层、布尔变量)。

实验中两者的运行时间比较如图1所示。由图1可知,在相同数据量和不同支持度下,En-Apriori 算法执行时间上明显少于Apriori 算法,并且支持度越高算法执行效率越高。

200175150125100755025

最小支持度/(%)

运行时间/s

图1 不同支持度下2种算法运行时间的比较

5 结束语

本文对关联规则提取中的Apriori 算法进行了研究。Apriori 的对象常常是大型数据库或数据仓库,所面临的最大挑战是计算效率问题。文章通过对Apriori 算法的分析,提出了一种改进的En-Apriori 算法,该算法只需扫描一遍数据库,并对连接等操作做了优化,提高数据项集频度统计速度,从而提高算法的效率。

参考文献

[1] Tan Pangning, Steinbach M, Kumar V . Introduction to Data

Mining[M]. 北京: 人民邮电出版社, 2006.

[2] Han Jiawei, Kamber M. Data Mining: Concepts and Techniques[M].

北京: 机械工业出版社, 2001.

[3] 区玉明, 张师超, 徐章艳, 等. 一种提高Apriori 算法效率的方

法[J]. 计算机工程与设计, 2004, 25(5): 846-848.

[4] Witten I H, Frank E. Data Mining: Practical Machine Learning Tools

and Techniques[M]. 北京: 机械工业出版社, 2006.

[5] 徐章艳, 张师超. 挖掘关联规则中一种优化的Apriori 算法[J].

计算机工程, 2003, 29(19): 83-84.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(上接第149页)

1)B 选取随机整数K =123,'(4132,6407)R KG ==; 2)B 计算:

(7819,3611)C R KP ==,1

()1234(mod 4427)264r h x ?==;

3)B 计算:

(mod 4427) 1232642184(mod 4427)1189s K r σ=+=+×=; 4)(264,1189,(2322,6135))是B 对消息m 的签名。 (4)代理签名的验证过程

验证人C 收到代理签名(r , s , Q 0)= (264,1189,(2322,6135))后,首先获取B 的公钥Q 0=(2322,6135),再进行如下运算:

1)验证r =264, s =1189是否在区间[1, 4426]上; 2)计算:

00()(917,573)(7359,3988)(4132,6407),A X sG r P Q r =?+=+='()mod 7819264mod 44271234C m h K x r n ==×=;

3)C 计算原始消息m =1234,

并检验最后一位为冗余位4,结果正确,C 接受签名。

5 结束语

在改进的数字签名方案中,签名人对消息的2次签名能够有效地抵抗生日攻击。原数字签名方案抗击生日攻击的概率为11/(1)t t n p P n ?=??,改进的数字签名方案抗击生日攻击的概率则为21[1/(1)]t t n p P n ?=??,所以,提高了数字签名的安全性能。通过具体的实例可以看出,改进的数字签名方案和代理数字签名方案,具有运算量小的特征,且易于实现。

参考文献

[1] Koblitz N. Elliptic Curve Cryptosystems[J]. Mathematics of

Computation, 1987, 48(1): 203-209.

[2] Miller V S. Use of Elliptic Curves in Cryptography[C]//Proc. of

Advances in Cryptology-CRYPTo’85. New York, USA: Spring Verlag, 1986: 417-426.

[3] 杨义先, 孙 伟, 钮心忻. 现代密码新理论[M]. 北京: 科学出版

社, 2002: 106-119.

[4] Peng Fei, Qiu Shuisheng, Long Min. A Secure Digital Signature

Algorithm Based on Elliptic Curve and Chaotic Mappings[J]. Circuits Systems Signal Processing, 2005, 24(5): 585-597.

[5] 白国强, 黄 谆, 陈弘毅, 等. 基于椭圆曲线的代理数字签名[J].

电子学报, 2003, 31(11): 1659-1663.

[6] Zhao Zemao, Liu Fengyu. Method of Constructing Elliptic Curve

Authenticated Encryption Scheme[J]. Applied Mathematics and Computation, 2005, 168(1): 146-151.

[7] Arazi B. Communication-computation Trade-off in Executing

ECDSA in a Contactless Smartcard[J]. Designs Codes and Cryptography, 2006, 38(1): 399-415.

[8] Hwang Renjunn, Lai Chih Hua, Su Fengfu. An Efficient

Signcryption Scheme with Forward Secrecy Based on Elliptic Curve[J]. Applied Mathematics and Computation, 2005, 167(1): 870-881.

[9] Trappe W, Washington L G . Introduction to Cryptography with

Coding Theory[M]. New York, USA: Spring Verlag, 2004: 189-205.

基于椭圆曲线的一种高效率数字签名

第26卷第2期 计算机应用与软件 Vol 126No .2 2009年2月 Computer App licati ons and Soft w are Feb .2009 基于椭圆曲线的一种高效率数字签名 侯爱琴 高宝建 张万绪 强 媛 (西北大学信息科学与技术学院 陕西西安710069) 收稿日期:2007-07-09。陕西省自然科学基金项目(2004A11)。侯爱琴,讲师,主研领域:信息安全,电子信息技术。 摘 要 为给出一种基于椭圆曲线密码的高效率的数字签名方案。不仅在算法设计时完全避免了费时的求逆运算,而且利用消 息HASH 值的汉明重量作为消息摘要进行签名与验证。结果在同等安全性下,该方案比通用的ECDS A 等方案运行时间更短。新方案可适用于网络等对签名实时性要求较高的场合。 关键词 椭圆曲线密码 哈希函数 汉明重量 椭圆曲线数字签名 A H I GH EFF IC I ENCY D IG ITAL S IGNATURE BASED O N ELL I PT IC CURVE Hou A iqin Gao Baojian Zhang W anxu Q iang Yuan (School of Infor m ation Science and Technology,N orthw est U niversity,X i ’an 710069,Shaanxi,China ) Abstract T o offer a high efficiency digital signature based on elli p tic curve cryp t ography .The design of the algorith m not only avoids ti m e 2costing inverse operati on comp letely but als o uses the hamm ing weight of HASH code of a message instead of HASH code itself as the message digest t o partici pate in the signature and verifying calculati on .The ne w scheme cost less ti m e than the popular EC DS A.The ne w sche me is a 2dap ted t o higher real 2ti m e needs f or signature such as internet . Keywords Elli p tic curve cryp t ography (ECC ) Hash Ha mm ing weight Elli p tic curve digital signature (EC DS A ) 0 引 言 数字签名是电子商务和网络安全认证的核心技术。基于公钥密码的数字签名体制一般有三类:基于大整数分解问题(I FP )的,如RS A;基于离散对数问题(DLP )的,如著名的E I Ga 2mal,DS A 等;基于椭圆曲线离散对数问题(EC DLP )的,如I EEE P1363标准中的EC DS A 等椭圆曲线数字签名。其中ECDLP 最难解,除几类特殊椭圆曲线外迄今没有找到有效的求解算法。椭圆曲线密码(ECC )是迄今为止每比特具有最高安全强度的密码系统,160位ECC 密钥的安全性能与1024位RS A 或ElGa mals 的密钥相当。 本文研究了以椭圆曲线密码理论为基础的一种高效率数字签名系统。 1 基于ECC 的数字签名方案分析 现有的椭圆曲线数字签名方案,典型的如ECDS A 是美国国家标准技术研究所(N I ST )出台的ANSI X9.62标准,其详细描述可参见文献[1-3];EC 2KC DS A 方案是韩国基于证书数字签名算法(KC DS A )的椭圆曲线版本,具体方案可参见文献[1]描述。还有E I Ga mal 方案等都是将有限域F p 上离散对数签名方案移植到椭圆曲线群上。 据文献[4]把一个传统的离散对数体制转变为椭圆曲线体制需要进行以下转换:①把模乘运算转变为椭圆曲线上的点加运算;②把模幂运算转换为椭圆曲线上的点乘运算。 而有限域F p 上离散对数签名方案一般是基于签名方程u =dv +kw (mod p -1),详见文献[5,6]。它由五个元素(d,k,u, v,w )组成,其中d 是签名者的密钥,k 是每次签名时生成的随机 整数(即消息密钥),u,v,w 可以分别取e,r ,s,其中,e =h (m )为被签名消息的Hash 值,r 是一个与k 有关的量,s 是消息m 的签名。 可以用不同的(e,r ,s )组合代替(u,v,w ),并且e,r,s 可分别换成其加法或乘法逆元,由此可以衍生出不同的签名方程,即可得到不同的数字签名方案。但不是所有的数学组合都能产生安全的数字签名方案,Harn 和Xu 给出了安全的离散对数签名方案的设计规则,并列出所有符合这种设计规则的数字签名方案[7]。 基于ECC 的E I Ga mal 方案和EC DS A 是其中的第(4)种方案,取u =e,v =r ,w =s,即为通用方程u =vd +kw (mod p )的变体:e =dr +ks,等价于s =k -1(e +dr ),该方程为EC DS A 签名方程;相应的验证方程s -1(eG +r Q )=kG 。 ECDS A 方案中的公钥产生算法是Q =dG,在签名的生成和验证时分别计算k -1mod n 和s -1mod n ,需要模逆运算。EC 2 KC DS A 方案最大的特点是公钥产生算法是Q =d -1 P ,采用了逆的预运算,这使得签名的生成和验证过程不需要进行模逆运算;EC 2KC DS A 方案的另一个特点是在计算消息的Hash 值前,将签名者的证书数据加入消息(计算e =H (hcert,m )),能够抵抗基于参数组数据的攻击。 在现有的椭圆曲线加密或者签名过程中,求逆是最费时的操作,一次求逆的时间大约相当于80次点乘运算,因而求逆是

椭圆曲线上的部分盲签名方案

第27卷第4期纺织高校基础科学学报Vol.27,No.4 2014年12月BASICSCIENCESJOURNALOFTEXTILEUNIVERSITIESDec.,2014  文章编号:1006‐8341(2014)04‐0508‐04 椭圆曲线上的部分盲签名方案 张建中,陈 楠,苑 飞 (陕西师范大学数学与信息科学学院,陕西西安710062) 摘要:针对椭圆曲线密码体制具有签名密钥短、运行速度快等优点,结合动态秘密共享和部分盲签名技术,提出了一个新的动态部分盲签名方案.该方案不但具备门限签名和盲签名的特性而且还可以随时更新签名密钥,密钥的分发和更新过程采用公开验证的方法,可以有效地抵抗相互欺诈行为的发生.分析表明,该方案操作简单,安全性高,应用范围广. 关键词:椭圆曲线;动态秘密共享;部分盲签名;门限签名 中图分类号:TP393 文献标识码:A 0 引 言 在现实生活中,人们从安全和保险的角度考虑,对一些具有重要价值的信息的访问权限不能只交给一个人掌握,如果只有一人拥有打开某信息的密钥,一旦密钥丢失或持有者无法提供正确的密钥,就会带来严重的损失.因此,1979年Shamir[1]提出了将秘钥分解成多个碎片发送给多个人掌管,其中达到一定数量的成员的集合便可以恢复密钥的(t,n)秘密分享的思想.秘密分享是门限密码学的基础,人们在这种思想的基础上提出了可验证的秘密分享体制[2],公开可验证秘密分享体制[3].为了避免密钥受到长期的、逐步的攻击,有时需要随时更新签名者的密钥,人们又提出了动态秘密分享体制[4],其后又提出许多新的秘密共享体制[5‐6].将这些思想与一些密码体制相结合形成了一些更安全、高效的新方案,比如基于RSA的门限签名方案,基于ELGamal的门限签名方案,还有基于椭圆曲线的门限签名方案等.与同等条件下的一些密码体制相比,椭圆曲线密码体制因具有签名密钥短、运行速度快、安全性高等优点而成为密码学界研究的热点.1992年ScottVanstone提出了椭圆曲线数字签名的算法[7](ECDSA),由于这种算法需要求解椭圆曲线上的逆元,运算复杂,经不断被改进,新的高效的椭圆曲线数字签名方案[8‐9]被提出,算法中尽量避免求解逆元,从而提高了椭圆曲线数字签名方案的运行效率. 盲签名的概念[10]是1982年Chaum在美国密码学会上首次提出的,盲签名要求用户和签名者之间达成一个协议,如果协议被正确执行,则用户获得签名者的签名,但是对签名人来说却不知道所签消息的具体内容[11].部分盲签名[12]是在盲签名的基础上由Abe和Fujisaki在1996年提出的,在部分盲签名方案中[13],签名人可以在签名中嵌入一个和用户事先约定好的公共信息,用来防止普通盲签名中被签名的消 收稿日期:2014‐01‐10 基金项目:国家自然科学基金资助项目(61173190,61273311);陕西省自然科学基础研究计划资助项目(2010JQ8027); 陕西省教育厅科研计划项目(2010JK398,12JK1003);中央高校基本科研业务费专项资金资助项目 (GK201002041) 通讯作者:张建中(1960‐),男,陕西省周至县人,陕西师范大学教授,博士.研究方向为信息安全与密码学及认证理论.E‐mail:jzzhang@snnu.edu.cn

椭圆与双曲线的必背的经典结论

椭圆与双曲线的必背的经典结论 椭 圆 1. 点P 处的切线PT 平分△PF 1F 2在点P 处的外角. 2. PT 平分△PF 1F 2在点P 处的外角,则焦点在直线PT 上的射影H 点的轨迹是以长轴为直径 的圆,除去长轴的两个端点. 3. 以焦点弦PQ 为直径的圆必与对应准线相离. 4. 以焦点半径PF 1为直径的圆必与以长轴为直径的圆内切. 5. 若000(,)P x y 在椭圆22 22 1x y a b +=上,则过0 P 的椭圆的切线方程是00221x x y y a b +=. 6. 若000(,)P x y 在椭圆22 221x y a b +=外 , 则过Po 作椭圆的两条切线切点为P 1、P 2,则切点弦P 1P 2的直线方程是00221x x y y a b +=. 7. 椭圆22 221x y a b += (a >b >0)的左右焦点分别为F 1,F 2,点P 为椭圆上任意一点 12F PF γ∠=,则椭圆的焦点角形的面积为122tan 2 F PF S b γ ?=. 8. 椭圆22 221x y a b +=(a >b >0)的焦半径公式: 10||MF a ex =+,20||MF a ex =-(1(,0)F c - , 2(,0)F c 00(,)M x y ). 9. 设过椭圆焦点F 作直线与椭圆相交 P 、Q 两点,A 为椭圆长轴上一个顶点,连结AP 和 AQ 分别交相应于焦点F 的椭圆准线于M 、N 两点,则MF ⊥NF. 10. 过椭圆一个焦点F 的直线与椭圆交于两点P 、Q, A 1、A 2为椭圆长轴上的顶点,A 1P 和A 2Q 交于点M ,A 2P 和A 1Q 交于点N ,则MF ⊥NF. 11. AB 是椭圆22 221x y a b +=的不平行于对称轴的弦,M ),(00y x 为AB 的中点,则 2 2OM AB b k k a ?=-,即0202y a x b K AB -=。 12. 若000(,)P x y 在椭圆22 221x y a b +=内,则被Po 所平分的中点弦的方程是22 00002222x x y y x y a b a b +=+. 13. 若000(,)P x y 在椭圆 22 22 1x y a b +=内,则过Po 的弦中点的轨迹方程是22002222x x y y x y a b a b +=+.

基于椭圆曲线和RSA的数字签名的性能分析,数字签名,椭圆曲线

基于椭圆曲线和RSA的数字签名的性能分析,数字签名,椭圆曲线密码体制,RSA,C++ 1引言数字签名是实现认证的重要工具,他在身份认证、数据完整性、抗抵赖性以及匿名性等方面有重要的应用,是电子商务应用、电子政务推广中的核心技术,数字签名能保证文件中每页内容均不会被改动或替换。数字签名是特指以公钥密码实现的签名,或者可以定义为记录的一次变换,通过一个非对称密码系统和一个杂凑函数,使得有初始记录和签名者公钥的任何人都可以准确地判断该变换是否由相对应的私钥产生、初始记录在变换之后是否被修 1 引言 数字签名是实现认证的重要工具,他在身份认证、数据完整性、抗抵赖性以及匿名性等方面有重要的应用,是电子商务应用、电子政务推广中的核心技术,数字签名能保证文件中每页内容均不会被改动或替换。数字签名是特指以公钥密码实现的签名,或者可以定义为记录的一次变换,通过一个非对称密码系统和一个杂凑函数,使得有初始记录和签名者公钥的任何人都可以准确地判断该变换是否由相对应的私钥产生、初始记录在变换之后是否被修改。 常用的数字签名体制:RSA,EIGamal,ECC。其中基于RSA的数字签名算法现在应用十分广泛,而基于ECC的数字签名算法ECDSA则是未来签名算法的热点方向,本文就两种算法的性能进行了分析和比较,同时讨论了各自的应用范围。 2 RSA的数字签名算法 RSA算法是公钥密码体制中最著名的算法,他是以其发明人Rivest,Shamir和Adleman三人的首字母来命名的。RSA是建立在大整数分解的困难上的,是一种分组密码体制。RSA即可用于数据加密,也可用于数字签名。 2.1 RSA数字签名算法密钥对产生的过程 (1)选择2个大的素数p,q。 (2)计算n:n=pq。 (3)随机选取e,满足1<e<φ(n),gcd(e.φ(n))=1,那么公钥就是(e,n)。 (4)计算d:满足ed=1modφ(n),那么私钥就是(d,n)。 2.2 RSA数字签名算法的签名过程

信息安全之电子签名技术的实现

滨江学院 课程论文 题目数字签名的发展 院系计算机系 专业软件工程(动画方向)学生姓名陈婷 学号20092358009 指导教师朱节中 职称副教授 二O一二年五月二十日

数字签名的发展 陈婷 南京信息工程大学滨江学院软件工程(动画方向),南京210044 摘要: 数字签名是电子商务安全的一个非常重要的分支。随着电子商务的发展,电子签名的使用越来越多。实现电子签名的技术手段有很多种,但比较成熟的、世界先进国家目前普遍使用的电子签名技术还是基于PKI的数字签名技术。 关键词: 数字签名信息安全电子商务 1引言 1.1 研究背景 在当今信息社会,计算机网络技术得到了突飞猛进的发展。计算机网络日益成为工业、农业和国防等领域的重要信息交换手段,并逐渐渗透到社会的各个领域。在现实生活中,人们常常需要进行身份鉴别、数据完整性认证和抗否认。身份鉴别允许我们确认一个人的身份;数据完整性认证则帮助我们识别消息的真伪、是否完整;抗否认则防止人们否认自己曾经做过的行为。随着无纸化办公的发展,计算机网络的安全越来越受到重视,防止信息被未经授权的泄漏、篡改和破坏等都是亟待解决的问题。在Internet上,数字签名作为一项重要的安全技术,在保证数据的保密性、完整性、可用性、真实性和可控性方面起着极为重要的作用。同时由于信息技术的发展及其在商业、金融、法律等部门的普及, 数字签名技术又面临着新的挑战。 1.2 开发意义 数字签名是实现电子交易安全的核心技术之一,它在实现身份认证、数字完整性、不可抵赖性等功 能方面都有重要应用。尤其是在密钥分配、电子银行、电子证券、电子商务和电子政务等许多领域有重要 的应用价值。 2相关技术介绍 2.1PKI/CA 技术的介绍 PKI 就是公开密钥基础设施。它是利用公开密钥技术所构建的,解决网络安全问题的,普遍适用的一种基础设施。公开密钥技术也就是利用非对称算法的技术。说PKI 是基础设施,就意味着它对信息网络的重要。PKI 通过延伸到用户本地的接口,为各种应用提供安全的服务,如认证、身份识别、数字签名、

高中数学【椭圆与双曲线】知识点总结

高中数学【椭圆与双曲线】知识点总结 姓名: (一)椭圆 1.椭圆的定义 如果平面内一动点到两定点距离之和等于正的常数(大于两定点的距离),则动点的规迹是椭圆 即|PF1|+|PF2|=2a 其中P是动点,F1,F2是定点且|F1F2|=2C 当a>c时表示 当a=c时表示 当a

标准方程 x,y的范围 顶点焦点对称轴对称中心 长半轴的长短半轴的长焦距 离心率e= 范围e越大椭圆越e越小椭圆越 准线焦半径公式|PF1|= |PF2|= (F1,F2分别为椭圆的下上两焦点,P为椭圆上的一点) 4.椭圆系 (1)共焦点的椭圆系方程为 22 2 1 x y k k c += - (其中k>c2,c为半焦距) (2 )具有相同离心率的标准椭圆系的方程 22 22 (0) x y a b λλ +=> (二) 双曲线 1.双曲线的定义 如果平面内一个动点到两定点距离之差的绝对值等于正的常数(小于两定点间的距离),那么动点的轨迹是双曲线 若一个动点到两定点距离之差等于一个常数,常数的绝对值小于两定点间的距离,那么动点的轨迹是双曲线的一支 F1,F2为两定点,P为一动点,(1)若||PF1|-|PF2||=2a ①0<2a<|F1F2|则动点P的轨迹是 ②2a=|F1F2|则动点P的轨迹是 ③2a=0则动点P的轨迹是 (2) 若|P F1|-|PF2|=2a ①0<2a<|F1F2|则动点P的轨迹是 ②2a=|F1F2|则动点P的轨迹是 ③2a=0则动点P的轨迹是 2.双曲线的标准方程

【CN109981284A】一种椭圆曲线数字签名的实现方法及装置【专利】

(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910181267.8 (22)申请日 2019.03.11 (71)申请人 北京三未信安科技发展有限公司 地址 100102 北京市朝阳区广顺北大街16 号院2号楼14层1406室 (72)发明人 杨国强  (74)专利代理机构 北京轻创知识产权代理有限 公司 11212 代理人 杨立 (51)Int.Cl. H04L 9/32(2006.01) H04L 9/08(2006.01) (54)发明名称 一种椭圆曲线数字签名的实现方法及装置 (57)摘要 本发明涉及一种椭圆曲线数字签名的实现 方法及装置,包括处理器将生成的签名消息数据 包发送至密码卡,签名消息数据包包括临时签名 公私钥对和待签名消息;密码卡接收签名消息数 据包,获取签名消息数据包中的临时签名公私钥 对和待签名消息,根据临时签名公私钥对、预先 存储的用户签名私钥和辅助公私钥对,得到待签 名消息的数字签名。本发明提高用户签名的安全 性, 同时提高数据处理的效率。权利要求书2页 说明书6页 附图1页CN 109981284 A 2019.07.05 C N 109981284 A

权 利 要 求 书1/2页CN 109981284 A 1.一种椭圆曲线数字签名的实现方法,其特征在于,包括: 处理器将生成的签名消息数据包发送至密码卡,所述签名消息数据包包括临时签名公私钥对和待签名消息; 密码卡接收所述签名消息数据包,获取所述签名消息数据包中的所述临时签名公私钥对和所述待签名消息,根据所述临时签名公私钥对、预先存储的用户签名私钥和辅助公私钥对,得到待签名消息的数字签名。 2.根据权利要求1所述的实现方法,其特征在于, 所述辅助公私钥对中的私钥由所述密码卡随机生成,所述辅助公私钥对中的公钥通过所述辅助公私钥对中的公钥和椭圆曲线的基点生成。 3.根据权利要求1所述的实现方法,其特征在于, 所述临时签名公私钥对中的私钥由所述处理器随机生成,所述临时签名公私钥中的公钥通过所述临时签名公私钥对中的私钥和椭圆曲线的基点生成。 4.根据权利要求2所述的实现方法,其特征在于, 所述辅助公私钥对定时更新。 5.根据权利要求1-4中任一项所述的实现方法,其特征在于,所述根据所述临时签名公私钥对、预先存储的用户签名私钥和辅助公私钥对,得到待签名消息的数字签名的具体步骤包括: 将所述临时签名公私钥对中的公钥和所述辅助公私钥对中的公钥执行点加运算,得到第一运算结果; 将所述临时签名公私钥对中的私钥和所述辅助公私钥对中的私钥执行模加运算,得到第二运算结果; 根据所述用户签名私钥、所述第一运算结果和所述第二运算结果,得到所述待签名消息的数字签名。 6.一种椭圆曲线数字签名的实现装置,其特征在于,包括处理器和密码卡; 所述处理器,用于将生成的签名消息数据包发送至所述密码卡,所述签名消息数据包包括临时签名公私钥对和待签名消息; 所述密码卡,用于接收所述签名消息数据包,获取所述签名消息数据包中的所述临时签名公私钥对和所述待签名消息,根据所述临时签名公私钥对、预先存储的用户签名私钥和辅助公私钥对,得到所述待签名消息的数字签名。 7.根据权利要求6所述的实现装置,其特征在于, 所述密码卡随机生成所述辅助公私钥对中的私钥,通过所述辅助公私钥对中的私钥和椭圆曲线的基点生成所述辅助公私钥对中的公钥。 8.根据权利要求6所述的实现装置,其特征在于, 所述处理器随机生成所述临时签名公私钥对中的私钥,通过所述临时签名公私钥对中的私钥和椭圆曲线的基点生成所述临时签名公私钥中的公钥。 9.根据权利要求6-8任一项所述的实现装置,其特征在于, 所述密码卡,用于将所述临时签名公私钥对中的公钥和所述辅助公私钥对中的公钥执行点加运算,得到第一运算结果; 将所述临时签名公私钥对中的私钥和所述辅助公私钥对中的私钥执行模加运算,得到 2

DSA数字签名算法

DSA数字签名算法 1 引言 为了确保数据传输的安全性,不得不采取一系列的安全技术,如加密技术、数字签名、身份认证、密钥管理、防火墙、安全协议等。其中数字签名就是实现网上交易安全的核心技术之一,它可以保证信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性等。DSA(Digital Signature Algorithm,数字签名算法,用作数字签名标准的一部分),它是另一种公开密钥算法,它不能用作加密,只用作数字签名。DSA使用公开密钥,为接受者验证数据的完整性和数据发送者的身份。它也可用于由第三方去确定签名和所签数据的真实性。DSA算法的安全性基于解离散对数的困难性,这类签字标准具有较大的兼容性和适用性,成为网络安全体系的基本构件之一。 2. 数字签名 2.1 数字签名的概念 数字签名在ISO7498—2标准中定义为:“附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造”。 数字签名是通过一个单向函数对要传送的信息进行处理得到的用以认证信息来源并核实信息在传送过程中是否发生变化的一个字母数字串。数字签名提供了对信息来源的确定并能检测信息是否被篡改。 数字签名要实现的功能是我们平常的手写签名要实现功能的扩展。平常在书面文件上签名的主要作用有两点,一是因为对自己的签名本人难以否认,从而确定了文件已被自己签署这一事实;二是因为自己的签名不易被别人模仿,从而确定了文件是真的这一事实。采用数字签名,也能完成这些功能: (1)确认信息是由签名者发送的; (2)确认信息自签名后到收到为止,未被修改过; 签名者无法否认信息是由自己发送的。 数字签名和手签的区别是:手签是模拟的,易伪造,而数字签名是基于数学原理的,更难伪造。

两种数字签名方案

两种数字签名技术 0902班贺信学号: 1.数字签名的基本概念 1.1 数字签名的定义 所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir 数字签名算法、DES/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。 1.2 数字签名的基本要求 身份鉴别允许我们确认一个人的身份;数据完整性认证则帮助我们识别消息的真伪、是否完整;抗否认则防止人们否认自己曾经做过的行为。数字签名技术用来保证信息的完整性。“数字签名”是通过一个单向函数对要传送的报文进行处理后得到的,用以认证报文来源并

核实报文是否发生变化的一个字母数字串。数字签名可以解决否认、伪造、篡改及冒充等问题。类似于手书签名,数字签名也应满足一下基本要求: 1)收方能够确认或证实发方的签名,但不能伪造签名。 2)发方向收方发出签名的消息后,就不能再否认他所签发的消息,以保证他不能抵赖之前的交易行为。 3)收方对已收到的签名信息不能否认,即有收报认证。 4)第三者可以确认收发双方之间的信息传递,但不能伪造这一过程。 1.3 数字签名的原理 数字签名是通过密码技术对电子文档的电子形式的签名,并非是书面签名的数字图像化。它类似于手写签名或印章,也可以说它就是电子印章。我们对一些重要的文件进行签名,以确定它的有效性。但伪造传统的签名并不困难,这就使得数字签名与传统签名之间的重要差别更加突出:如果没有产生签名的私钥,要伪造由安全密码数字签名方案所产生的签名,计算上是不可行的。人们实际上也可以否认曾对一个议论中的文件签过名。但是否认一个数字签名却困难得多,这样做本质上证明在签名生成以前私钥的安全性就受到危害。这是由于数字签名的生成需要使用私钥,而它对应的公钥则用以验证签名。因而数字签名的一个重要性质就是非否认性,目前已经有一些方案,如数字证书,把一个实体(个人,组织或系统)的身份同一个私钥和公钥对"

椭圆曲线数字签名中阈下信道通信研究

椭圆曲线数字签名中阈下信道通信研究 摘要:针对阈下信道技术在椭圆曲线数字签名中的应用可能以及存在的安全隐患问题,通过对其中存在的窄带阈下信道进行实时性测试,在平衡传输信息容量与签名时间的条件下,确定了合理的阈下信息传输位数。实验结果表明,窄带阈下信道在椭圆曲线数字签名中可以被有效利用。 关键词:椭圆曲线密码体制;数字签名;窄带阈下信道;信息隐藏;Miracl大数库 中图分类号: TP309 文献标志码:A Covert communication based on subliminal channel in?? elliptic curve digital signature algorithm ZHANG Qiuyu, SUN Zhanhui College of Computer and Communication, Lanzhou University of Technology, Lanzhou Gansu 730050, China ) Abstract: There are narrowband and broadband subliminal

channels in the Elliptic Curve Digital Signature Algorithm (ECDSA),but broadband subliminal channel cannot be safely used. Therefore, the realtime test of narrowband subliminal channel was done. The reasonable bit rate of the sent message was confirmed when the capacity and realtime requests of narrowband subliminal channel were satisfied. The result shows narrowband subliminal channel can be effectively used in ECDSA. Key words: Elliptic Curve Cryptography (ECC); digital signature; narrowband subliminal channel; information hiding; Miracl large number library 0 引言 自Simmons[1]于1978年提出阈下信道概念以来,阈下信道已经发展成为一种典型的信息隐藏手段。研究表明,绝大多数数字签名方案中都可包含阈下信道的通信,其最大的特点是阈下信息包含于数字签名之中,但对数字签名和验证过程无任何影响。目前,关于阈下信道的研究主要分为两个方面:一是研究如何建立阈下信道;二是研究如何封闭阈下信道。虽然已经提出许多构造阈下信道[2-4]和封闭阈下信道[5-8] 的方案,但多存在于理论研究阶段,真正得到的应用很少。

两种数字签名方案

两种数字签名技术 0902班贺信学号:14092400635 1.数字签名的基本概念 1.1 数字签名的定义 所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir 数字签名算法、DES/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。 1.2 数字签名的基本要求 身份鉴别允许我们确认一个人的身份;数据完整性认证则帮助我们识别消息的真伪、是否完整;抗否认则防止人们否认自己曾经做过的行为。数字签名技术用来保证信息的完整性。“数字签名”是通过一个单向函数对要传送的报文进行处理后得到的,用以认证报文来源并

核实报文是否发生变化的一个字母数字串。数字签名可以解决否认、伪造、篡改及冒充等问题。类似于手书签名,数字签名也应满足一下基本要求: 1)收方能够确认或证实发方的签名,但不能伪造签名。 2)发方向收方发出签名的消息后,就不能再否认他所签发的消息,以保证他不能抵赖之前的交易行为。 3)收方对已收到的签名信息不能否认,即有收报认证。 4)第三者可以确认收发双方之间的信息传递,但不能伪造这一过程。 1.3 数字签名的原理 数字签名是通过密码技术对电子文档的电子形式的签名,并非是书面签名的数字图像化。它类似于手写签名或印章,也可以说它就是电子印章。我们对一些重要的文件进行签名,以确定它的有效性。但伪造传统的签名并不困难,这就使得数字签名与传统签名之间的重要差别更加突出:如果没有产生签名的私钥,要伪造由安全密码数字签名方案所产生的签名,计算上是不可行的。人们实际上也可以否认曾对一个议论中的文件签过名。但是否认一个数字签名却困难得多,这样做本质上证明在签名生成以前私钥的安全性就受到危害。这是由于数字签名的生成需要使用私钥,而它对应的公钥则用以验证签名。因而数字签名的一个重要性质就是非否认性,目前已经有一些方案,如数字证书,把一个实体(个人,组织或系统)的身份同一个私钥和公钥对

椭圆曲线数字签名算法(ECDSA)

摘要 椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线对数字签名算法(DSA)的模拟。 ECDSA于1999年成为ANSI标准,并于2000年成为IEEE和NIST标准。它在1998年既已为ISO所接受,并且包含它的其他一些标准亦在ISO的考虑之中。与普通的离散对数问题(discrete logarithm problem DLP)和大数分解问题(integer factorization problem IFP)不同,椭圆曲线离散对数问题(elliptic curve discrete logarithm problem ECDLP)没有亚指数时间的解决方法。 因此椭圆曲线密码的单位比特强度要高于其他公钥体制。 本文将详细论述ANSIX9.62标准及其协议,安全,实现,互操作性方面的问题。 1、介绍 数字签名算法(DSA)在联邦信息处理标准FIPS中有详细论述,称为数字签名标准。它的安全性基于素域上的离散对数问题。椭圆曲线密码(ECC)由Neal Koblitz和Victor Miller 于1985年发明。它可以看作是椭圆曲线对先前基于离散对数问题(DLP)的密码系统的模拟,只是群元素由素域中的元素数换为有限域上的椭圆曲线上的点。椭圆曲线密码体制的安全性基于椭圆曲线离散对数问题(ECDLP)的难解性。椭圆曲线离散对数问题远难于离散对数问题,椭圆曲线密码系统的单位比特强度要远高于传统的离散对数系统。因此在使用较短的密钥的情况下,ECC可以达到于DL系统相同的安全级别。这带来的好处就是计算参数更小,密钥更短,运算速度更快,签名也更加短小。因此椭圆曲线密码尤其适用于处理能力、存储空间、带宽及功耗受限的场合。 ECDSA是椭圆曲线对DSA的模拟。ECDSA首先由Scott和Vanstone在1992年为了响应NIST对数字签名标准(DSS)的要求而提出。ECDSA于1998年作为ISO标准被采纳,在1999年作为ANSI标准被采纳,并于2000年成为IEEE和FIPS标准。包含它的其他一些标准亦在ISO的考虑之中。本文中我们将介绍ANSI X9.62标准。也将介绍一些签名的基础知识以及协议、安全性、实现、互操作性方面的问题。 本文其他部分的安排如下: 第二节中我们将回顾数字签名方案和DSA, 第三节和第四节将分别介绍有限域和椭圆曲线, 第五节将讲述域参数的产生和参数有效性的验证, 第六节将讲述密钥对的产生和公钥有效性的验证, 第七节的内容是ECDSA的签名和验证过程。第八章论证ECDSA的安全性, 第九节和第十节讲述的是ECDSA协议和实现方面的问题。

SM2椭圆曲线公钥密码算法第5部分参数定义

SM2椭圆曲线公钥密码算法 第5部分:参数定义 Public key cryptographic algorithm SM2 based on elliptic curves-- Part 5: Parameter definitions

目次 1 符号缩略语 (1) 2 参数定义 (1) 附 录 A 数字签名与验证示例 (2) A.1 综述 (2) A.2SM2椭圆曲线数字签名 (2) 附 录 B 密钥交换及验证示例 (4) B.1 一般要求 (4) B.2SM2椭圆曲线密钥交换协议 (4) 附 录 C 消息加解密示例 (8) C.1 一般要求 (8) C.2SM2椭圆曲线消息加解密 (8)

SM2椭圆曲线公钥密码算法 第5部分:参数定义 1 符号缩略语 p大于3的素数。 a, b F q中的元素,它们定义F q上的一条椭圆曲线E。 n基点G的阶(n是#E(F q)的素因子)。 x G 生成元的x坐标 y G 生成元的y坐标 2 参数定义 SM2使用素数域256位椭圆曲线。 椭圆曲线方程:y2 = x3 + ax + b 曲线参数: p = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFF a = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFC b = 28E9FA9E 9D9F5E34 4D5A9E4B CF6509A7 F39789F5 15AB8F92 DDBCBD41 4D940E93 n = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF 7203DF6B 21C6052B 53BBF409 39D54123 x G= 32C4AE2C 1F198119 5F990446 6A39C994 8FE30BBF F2660BE1 715A4589 334C74C7 y G= BC3736A2 F4F6779C 59BDCEE3 6B692153 D0A9877C C62A4740 02DF32E5 2139F0A0

基于ECC的数字签名算法设计与实现

基于ECC的数字签名算法设计与实现 摘要:信息社会正被计算机网络及通信技术的迅猛发展推向一个新的高级阶段,政府、军事、文教、商业、金融等社会生活的各个领域都深受其影响,信息已成为一种重要的战略资源.信息安全是信息科学领域的重要新兴学科,它的核心技术是密码学,其中公钥密码由于其与生俱来的一些优势,扮演着越来越重要的角色.数字签名技术作为最近几年来公钥密码发展的一个新型分支,是安全电子商务和安全电子政务的关键技术. 数字签名提供认证性、完整性和不可否认性,是信息安全的核心技术之一.基于身份的密码系统解决了传统公钥体制中利用公钥基础设施来管理公钥证书的复杂性和成本过高的问题,可与公钥证书基础设施密码体制形成牢固有利的互补.采用椭圆曲线上双线性映射技术的基于身份数字签名成为近几年密码学界的热点研究问题. 本文首先对密码技术的发展现状及其发展趋势进行了分析和综述,其次,论述了椭圆曲线密码体制的原理,包括椭圆曲线密码的数学基础、椭圆曲线的基本概念、椭圆曲线密码体制的构造思想、椭圆曲线上的点运算等问题,同时分析了椭圆曲线密码系统的安全性和有效性,给出了一个椭圆曲线数字签名方案,最后设计实现了一个在网络环境下使用的数字签名系统. 本文给出的这种基于椭圆曲线密码的高效率的数字签名方案,不仅在算法设计时完全避免了费时的求逆运算,而且利用消息HASH值的汉明重量作为消息摘要进行签名与验证.结果在同等安全性下,该方案比通用的ECDSA等方案运行时间更短.新方案可适用于网络等对签名实时性要求较高的场合[1]. 关键词:椭圆曲线公钥密码体制,数字签名,信息安全,汉明重量

The Digital Signature Algorithm Design and Implementation based on ECC Abstract:In nowadays,information society is being pushed onto a new advanced level by computer network and communication technologies,which have made great effects On government,military affairs,culture education,and finance,ere,Information has become an important resource in our society.Information secIIdty is one ofthe rising subjects in information science and its core of technology is cryptology.In eryptological area,public·key cryptosystem is playing more and more important roles in the world because ofits native predominance.As a new branch ofpublic·key cryptosystern,digital signature is a key technology of the sccnre B2B(Business to Business)and government affair in recent years.As one of the pivotal technologies of information security,digital signature provides authentication,integrality and incontestableness.In traditional public key infrastructure (PKI) system,managing public-key certification causes problems of complexity and high cost. Fortunately,identity-based cryptography has solved these kinds of problems,and it is also a good replenisher to PKI system.Identity based signature using pairing technology on elliptical curves has become one of the pop research problems. This paper first analyses and summarizes the current status and evolution trend of encryption,and introduces in detail the development of private-key cryptosystem and public-key cryptosystem,and provides the brief analysis of a few typical schemes.Second,the printciple of ECC is discussed,including the math foundation of ECC,operation on the elliptic curve and so on.meanwhile,the security and ECC are given..Some key algorithm ECC are implemented,including algorithm of generating the elliptic curve,algorithm of detecting prime number and algorithm of operating between the big integers.At last design and implement a system of digital signature based on ECC for network. To offer a high efficiency digital signature based on ellip tic curve cryp tography. The design of the algorithm not only avoids timecosting inverse operation comp letely but also uses the hammingweight of HASH code of a message instead of HASH code itself as the messagedigest to participate in the signature and verifying calculation. The new scheme cost less time than the popular ECDSA. The new scheme is adap ted to higher real2time needs for signature such as internet. Key Words: ECC,Digital signature,The security of information,Hamming weight

相关文档
最新文档